1

サーバーへの単純な ajax 投稿があります。

$(".invite-team-members-submit-btn").click(function() {
  $.post("invite_team_member", { token: $("#token").val(), email: $("#email").val(), team: $("#team").val() })
    .done(function (responseText) {
      responseText = jQuery.parseJSON(responseText);
      alert(responseText.response);
    })
    .fail(function (data) { alert("ERROR: " + data); })
    .then(function () { alert("Something should happen."); });
});

返される JSON は次のようになります...

{"response":"Person has been invited."}

コンソールの応答ヘッダーは次のようになります...

Response Headers
  Cache-Control max-age=0, private, must-revalidate
  Connection    close
  Content-Type  application/json; charset=utf-8
  Date  Wed, 22 May 2013 21:45:07 GMT
  Etag  "e5b5e12acbcc78372b2a861027b66c05"
  Status    200 OK
  Transfer-Encoding chunked
  X-Request-Id  d835ce021eff7733d67ebfcdd468bdf2
  X-Runtime 0.007909
  x-ua-compatible   IE=Edge

私のコンソールでは、それがサーバーであり、適切なテキストが返されたことがわかりますが、ブラウザーでアラートを受け取りません。私は何が間違っているかについての考えがありません。jQuery は私が見逃しているものを更新しましたか?

4

3 に答える 3

6

使い方が$.post間違っています。$.ajaxプロパティを使用して指定することを意味しtype: "post"ます。

$.postの最初の引数は URL です。あなたの場合、それはオブジェクトです。おそらく、jQuery は現在のページの URL を使用して代わりにリクエストを行うことになると思います (これが表示される理由です) が、確かではありません。これを次のように書き換えることができます。

$.post("invite_team_member", {data: data})
    .done(function (responseText) { alert(responseText); })
    .fail(function (data) { alert("ERROR: " + data); });
于 2013-05-22T21:22:58.170 に答える
1

このコードを試してください:

mydata = "name=Jon&location=USA";   
$.ajax({
    type : 'POST',
    url :  'myphp.php',
    data : mydata               
}).done(function(msg){
    alert("DONE");
});
于 2013-05-22T21:28:14.880 に答える
1

を使用$.ajax()してからタイプを設定します"POST"

于 2013-05-22T21:23:28.200 に答える