ajax成功事件在被调用后不起作用

时间:2013-10-12 15:43:58

标签: javascript jquery ajax

在这里搜索SO和谷歌后,没有找到我的问题的答案。

动画似乎没有触发,尝试了一个简单的警报,也没有工作。

除了成功部分之外,该函数按照它(几乎)所做的那样工作,不包括成功部分。

为什么不调用成功事件?

$(function() {
    $(".seguinte").click(function() {
        var fnome = $('.fnome').val();
        var fmorada = $('.fmorada').val();
        var flocalidade = $('.flocalidade').val();
        var fcodigopostal = $('.fcodigopostal').val();
        var ftelemovel = $('.ftelemovel').val();
        var femail = $('.femail').val();
        var fnif = $('.fnif').val();
        var fempresa = $('.fempresa').val();

        var dataString = 'fnome='+ fnome + '&fmorada=' + fmorada + '&flocalidade=' + flocalidade + '&fcodigopostal=' + fcodigopostal + '&ftelemovel=' + ftelemovel  + '&femail=' + femail + '&fnif=' + fnif + '&fempresa=' + fempresa;


        $.ajax({
            type: "GET",
            url: "/ajaxload/editclient.php",
            data: dataString,
            success: function() {
                    $('.primeirosector').animate({ "left": "+=768px" }, "fast" );
            }
        });
        return false;
    }); 
});

1 个答案:

答案 0 :(得分:0)

你试图在数据中传递查询字符串它应该是json数据。 您的方法编辑客户端是否具有您传递的所有参数? 测试它的一种简单方法是执行以下操作:

将此行更改为此

url: "/ajaxload/editclient.php" + "?" + dataString;

并删除此行

data: dataString

正确的做法应该是,创建一个javascript对象并将其发送到数据中,如下所示:

var sendData ={
        fnome: $('.fnome').val(),
        fmorada: $('.fmorada').val(),
        flocalidade: $('.flocalidade').val(),
        fcodigopostal: $('.fcodigopostal').val(),
        ftelemovel: $('.ftelemovel').val(),
        femail: $('.femail').val(),
        fnif: $('.fnif').val(),
        fempresa: $('.fempresa').val()
}

$.ajax({
  url: "/ajaxload/editclient.php",
  dataType: 'json',
  data: sendData,
  success: function() {
                    $('.primeirosector').animate({ "left": "+=768px" }, "fast" );
            }
});

另一件事不应该是邮寄请求吗? 希望它有所帮助