jqueryajax帖子将我发送到操作页面,并且不会显示结果数据
jquery ajax post sends me to action page and wont show result data
我有以下脚本用于发出Ajax/Jquery post请求。脚本有效(我在后端得到了正确的响应)。但我似乎无法发出任何警报,所以我认为成功函数存在一些问题。你们看到明显的错误了吗?浏览器会得到正确的响应(检查chrome中的网页)。
<script>
$(document).ready(function() {
var frm = $('#registerform');
frm.submit(function(x) {
x.preventDefault();
$.ajax({
type: 'POST',
url: 'http://localhost:8080/api/v1/register',
data: frm.serialize(),
crossDomain: true,
success: function(data){
if(data == 200){
alert("successfully registered");
$('#alert').append("successfully registered");
}
if (data == 400){
alert("email or password empty");
}
if(data == 403){
alert("passwords do not match");
}
}
});
});
});
</script>
您正试图将从请求中返回的数据与HTTP状态代码进行比较。所以,你需要做的是在你的成功函数中加入一些额外的参数。这是我在另一个stackoverflow问题上看到的一个很好的Fiddle,它可能会帮助你。http://jsfiddle.net/magicaj/55HQq/3/.
$.ajax({
url: "/echo/xml/",
type: "POST",
data: {
//Set an empty response to see the error
xml: "<response></response>"
},
dataType:"text xml",
success: function(xml, textStatus, xhr) {
console.log(arguments);
console.log(xhr.status);
}
});
xhr.status是您需要比较的,而不是您的数据。
在玩console.log时,我发现从后端发送res.sendStatus(200)会导致客户端(浏览器)得到"OK"的响应。因此,当在服务器上更改为res.json时,它可以工作。。。
相关文章:
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 无法使用streams/highland.js从mongodb的结果中获取数据
- 从 Angular 数据工厂中的 HTTP POST 请求接收未定义的结果
- 停止 jQuery 自动完成以过滤/搜索结果并填充整个源数组数据
- 有没有一个简单的解决方案可以根据3个数据找到结果
- 将base64图像数据作为src分配给图像时,Firefox和Chrome上的结果不一致
- 重新排序angularjs ngRepeat与后续数据结果
- 从sqlite数据库查询数据结果文件名
- 如何显示查询回调数据结果仅从开始
- 从 JSON 文件加载后立即使用数据结果
- 如何避免数据结果中的 html 代码
- 将 JavaScript 数据结果放入表单输入值
- 将段落文本设置为 JSON 数据结果
- 通过循环更改 JSON 格式的数据.结果是三倍
- 数据显示更新数据结果,但更新数据结果是不工作的PHP
- 如何让jquery循环json数据结果,以创建一个两列表
- 跨域请求显示数据结果
- 在向上传递promise时更改数据结果
- 如何合并两个facebook图api数据结果(JSON)
- 如何从ajax数据结果填充javascript数组