2014-02-19 2 views
-2

У меня есть поиск другого сообщения, но для меня нет ответа. У меня проблема с кросс-доменом, поэтому проблема с междоменным явлением здесь не проблема.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. Но это просто не работает.

+1

'$ ("LoginForm")' вы имеете в виду '$ ("#") LoginForm' –

+0

что вы подразумеваете под "вы х-домен фиксированный"? вы никогда не сможете HTTP POST в другом домене, не используя обмен сообщениями HTML5. –

+0

@ A.Wolff, спасибо. Моя ошибка ... – MarkZ

ответ

0

Редактировать часть данных как:

$("#loginForm").serialize(), 
+0

большое вам спасибо. – MarkZ

+0

Рад, что я мог бы помочь .. :) –

Смежные вопросы