Json数据没有回归成功

时间:2013-12-02 06:32:12

标签: c# ajax asp.net-mvc-3 jquery

请考虑以下代码。我正在使用以下ajax调用加载我的产品视图。

$.ajax({
      cache: true,
      type: "GET",
      url: url,
      data: json.stringify(data),
      success: function (data) {
          var mainview = $(data).find(".maindiv");
          $('.maindiv').replaceWith(mainview);
                    }
     },
      error: function (xhr, ajaxOptions, thrownError) {
          alert('Error Occured...... No Products Found');

      },
      complete: function () { subscribeProgress.hide(); }
  });       

现在,当我加载此视图时,每个产品都会添加到购物车按钮,在该按钮上执行另一个ajax调用以检查客户是否已注册或访客,并显示相应的注册弹出窗口。现在注册客户,调用另一个正常工作的ajax方法,但json数据不会返回成功,直接显示在页面上。

通过弹出窗口注册客户的id代码

$('#formpopupReg').unbind('submit');
        $('#formpopupReg').bind('submit', function () {
            if ($(this).valid()) {
                $.ajax({
                    url: this.action,
                    type: this.method,
                    // you can post your model with this line
                    data: $(this).serialize(),
                    success: function (data) {//Json should get back to this call but doesnt

                        if (data.status == "Wrong email") {
                            $('#modelerrors').text("Wrong email");
                        }

                        if (data.status == "emailexists") {
                            //Code on Error

                        }
                        if (data.status == "registersuccess") {

                            location.reload();
                        }


                    },
                    error: function (xhr, ajaxOptions, thrownError) {

                        alert('Internal Error.');
                    },

                    complete: function () { }

                });
            }
            return false;
        });

任何解决方案。我希望json数据返回成功通话。

2 个答案:

答案 0 :(得分:0)

dataType:"json"添加到您的ajax电话。

答案 1 :(得分:0)

试试这个,问题是您的}在代码中是额外的,如果您使用dataType: 'json',则会丢失json

$.ajax({
      cache: true,
      url: url,
      dataType: 'json',
      data: json.stringify(data),
      success: function (data) {
          var mainview = $(data).find(".maindiv");
          $('.maindiv').replaceWith(mainview);
                    }     
      error: function (xhr, ajaxOptions, thrownError) {
          alert('Error Occured...... No Products Found');

      },
      complete: function () { subscribeProgress.hide(); }
  });