Ajax调用抛出错误,但我看到Fiddler的响应

时间:2013-07-31 05:03:01

标签: ajax jquery

我的页面使用ajax调用来获取用户名。 我看到Fiddler的反应,但它仍然会引发错误。

这是我的代码:

$.ajax({
               type: "POST",
               url: "Selection.aspx/GetUser",
               data: "{}",
               contentType: "application/json; charset=utf-8",
               dataType: "json",
               success: function (response) {
                   var username = response.d;
                   if (username.indexOf("ERROR") > 0) {
                       jAlert(username);
                   }
                   else
                   {
                       if( username!= "" ) 
                       {
                           $("#MainContent_lblUser").text(username);
                       }
                   }
                },
               error: function (xhr, status, error) {
                   if (xhr.responseText != "") {
                       var err = eval("(" + xhr.responseText + ")");
                       jAlert(err.Message);
                   } else
                       jAlert('Unable to get an User', 'Ajax Error', null);
               }
           });

我总是看到警告“无法获取用户”。 在Fiddler中,我看到{“d”:“Domain \ crm.admin”}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

确保您确实正在返回JSON对象。如果您不确定,请编辑dataType规范并在成功回调中添加一些额外的代码;例如:

$.ajax({
               type: "POST",
               url: "Selection.aspx/GetUser",
               data: "{}",
               contentType: "application/json; charset=utf-8",                  
               success: function (response) {
                   newResponse = jQuery.parseJSON(response);
                   var username = newResponse.d;
                   if (username.indexOf("ERROR") > 0) {
                       jAlert(username);
                   }
                   else
                   {
                       if( username!= "" ) 
                       {
                           $("#MainContent_lblUser").text(username);
                       }
                   }
                },
               error: function (xhr, status, error) {
                   if (xhr.responseText != "") {
                       var err = eval("(" + xhr.responseText + ")");
                       jAlert(err.Message);
                   } else
                       jAlert('Unable to get an User', 'Ajax Error', null);
               }
           });

我希望这会有所帮助