У меня есть поиск другого сообщения, но для меня нет ответа. У меня проблема с кросс-доменом, поэтому проблема с междоменным явлением здесь не проблема.Jquery Ajax Post не удалось после Serialize [jquery/javascript]
Мой код JavaScript/JQuery:
$(document).ready(function(){
$("button").click(function(event){
event.preventDefault();
$.post("http://mydomain.com/api/user/register",
// {
// email:"[email protected]",
// name:"Duckburg"
// }
$("loginForm").serialize(),
function(data,status){
$("#loginresult").text("Data: " + data + " /nStatus: " + status);
});
});
});
Мой HTML-код:
<!-- page 3 [userLogin] -->
<div data-role="page" id="userlogin">
<div role="main" class="ui-content">
<div>
<form action="/" id="loginForm">
<label for="email">Email</label>
<input type="text" name="email" id="email" value="">
<label for="password">Password</label>
<input type="text" name="password" id="password" value="">
<button id="loginButton"/>Submit</button>
</form>
<a href="#welcome" class="ui-btn ui-corner-all ui-icon-back-black" data-transition="flow" data-direction="reverse">Back to Main Screen</a>
</div>
<div id="loginresult"></div>
</div><!-- /content -->
</div><!-- page 3 end -->
Мой PHP код:
$email = $_POST["email"];
$file = fopen("capture.txt","w");
fwrite($file,$email . "\n");
fclose($file);
echo $email;
Вышеупомянутый вызов Ajax будет успешным, если я использую комментарий (объект) в качестве ввода данных Post.
Но если я использую serialize() в качестве ввода данных, вызов Ajax завершится с ошибкой. Серверная сторона также не получает значение, потому что оно не записывается в текстовый файл.
Я читал документацию много раз снова и снова, а также другие учебники, которые я могу получить через Google. Но это просто не работает.
'$ ("LoginForm")' вы имеете в виду '$ ("#") LoginForm' –
что вы подразумеваете под "вы х-домен фиксированный"? вы никогда не сможете HTTP POST в другом домене, не используя обмен сообщениями HTML5. –
@ A.Wolff, спасибо. Моя ошибка ... – MarkZ