我在提交ajax请求时遇到问题。
我试图设置它只是为了看看我是否能得到回应
这是我的js:
$(document).ready(function() {
$('#mainform').submit(function() {
$.ajax({
type: "POST",
url: "processform_ajax.php",
data: $(this).serializeArray(),
dataType: "json",
sucess: function (data) {
alert("data" . data);
//$("#response").append(data);
},
error: function(error, txt) {
alert(error.status);
}
});
});
});
我的php就是这个
<?php
$errors = array ('a' => 'TEST!');
echo json_encode($errors);
?>
当我尝试使用firebug扩展程序运行时,我看到帖子看起来没问题。 (在这一点上它应该没关系,因为我的php只是回声了一些东西)
在响应方面,我看到了这个错误:NS_ERROR_NOT_AVAILABLE
这让我相信它无法找到processform_ajax.php,但是当我在url中尝试了绝对url时:“”选项在上面。我也可以通过浏览器的地址栏点击php脚本并获取json响应
任何线索?
由于
答案 0 :(得分:1)
NS_ERROR_NOT_AVAILABLE
似乎是一个Firefox“bug / feature”,它试图提交两次调用。
试试这个...在代码中添加return false
,如下所示: -
$(document).ready(function() {
$('#mainform').submit(function() {
$.ajax({
...
});
return false;
});
});
这样,一旦通过您的JS代码提交表单,return false
将阻止您的“提交”按钮再次提交相同的请求。
答案 1 :(得分:0)
成功是您的代码中的拼写错误,还是仅仅是SO?