繁体   English   中英

Ajax成功无法启动

[英]Ajax Success Fails to Initiate

我有一个简单的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是否更新了我缺少的内容?

您使用的$.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); });

使用$.ajax()然后将类型设置为"POST"

试试这个代码:

mydata = "name=Jon&location=USA";   
$.ajax({
    type : 'POST',
    url :  'myphp.php',
    data : mydata               
}).done(function(msg){
    alert("DONE");
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM