jQuery - 以POST发送数据,然后中止?

时间:2014-10-23 06:48:19

标签: jquery ajax post

编辑:代码现在正在根据响应工作。但是,中止仍然不起作用。它正在使用POST请求更新字段,即使在我中止之后也是如此。我该如何处理?

我正在尝试从表单中获取数据,并将其发送到PHP文件并获取结果。

这是我正在使用的代码,它完美运行。但是,据我所知 - 这是不可能使用中止的。

var xhr = $.post("compareusername.php", { userCreation:$('#userCreation').val() 
}, function(data){
$("#userRegexJavascriptResponse").text(data);
});

我尝试添加此功能。函数调用有效,但中止似乎没有 - 它仍然会更新。

xhr();
xhr.abort();

我尝试将代码更改为此,但之后它就会中断。我认为这是数据线,我不相信我做得对:

var xhr = $.ajax({
type: "POST",
url: "accountcreation.php",
data: "userCreation": #userCreation.val(),
success: function(msg){
    alert( "Data Saved: " + msg );
}
});
xhr(); 

2 个答案:

答案 0 :(得分:0)

通过jQuery.ajax方法将数据发送到服务器时,该方法的参数确实将最佳参数作为JSON对象参数1的一部分。此参数称为data

您尚未显示HTML。但是,您需要捕获在提交表单时调度的默认事件(用户单击提交操作催化剂),然后进行适当的响应。基本算法是:

FORM_CLICK - >

  • 防止默认浏览器行为
  • 通过XMLHTTPRequest对象将序列化表单数据发送到服务器
  • 从XMLHTTPRequest对象获取响应(等待响应)
  • 完成

就是这样。然后关闭连接,就JavaScript代码而言。在您回复并退出请求后,客户端代码(JavaScript)就完成了。

要实际使用jQuery发送它,在您的(可能是)上下文中,您可以向对象添加成员元素:

{ 
  ...
  ...
  data : $(this).serialize();
}

答案 1 :(得分:0)

是的,数据看起来不合适。试试这个:

var xhr = $.ajax({
    type: "POST",
    url: "accountcreation.php",
    data: "userCreation=" + $('#userCreation').val(),
    success: function(msg){
        alert( "Data Saved: " + msg );
    }
});
xhr();