Jquery形成ajax调用麻烦

时间:2011-02-09 01:01:17

标签: javascript jquery ajax json

我在提交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响应

任何线索?

由于

2 个答案:

答案 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?