2016-10-06 82 views
0

下面的AJAX代碼:C#Ajax的URL返回值,但功能不打成功

$.ajax({ 
      type: "POST", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      data: "{ 'userId' : '" + $('#userId').val() + "' }", 
      url: "/User/UserURL", 
      success: function (data) {      
       Do something with data* 
      }, 
      error: function() { 
       alert('error'); 
      } 
     }); 

是正確擊球/用戶/ UserURL功能,那就是:

public JsonResult UserURL(int userId) 
    { 
     List<USER> u = (*Get from database using LINQ*).ToList(); 
     return Json(u, JsonRequestBehavior.AllowGet); 
    } 

當我把一個調試點和檢查,List<USER> u在最後從UserURL返回時具有所需的值。但是,在返回AJAX被調用的頁面時,我收到了「錯誤」警報。爲什麼它沒有成功?

編輯:如果這有什麼差別,這是怎麼回事我的成功裏面:

for (i = 0; i < data.length; i++) { 
     $('input[name="checkbox"]').each(function() { 
      if (this.value == data[i].USER_ID) { 
      (this).checked = true; 
      } 
     }); 
    } 
+0

在成功函數中放入警報聲明並查看是否顯示警報。這樣我們可以縮小這個問題。 –

+0

爲什麼不在錯誤函數中添加['jqXHR'](https://api.jquery.com/jQuery.ajax/)參數然後警告'jqxhr.responseText'?或者將它附加到一個'div'中,這樣你就可以看到錯誤函數的原因。 –

+0

嘗試將參數更改爲int。 'data:{userId:parseInt($('#userId')。val())},...' – Eric

回答

1

這是很難幫助你找到一個解決您的問題,因爲這個問題沒有說明任何特定類型的錯誤消息。

所以,隨着我要告訴你,你可能不需要我們的任何幫助來診斷問題。

既然你說回到AJAX被調用的頁面,我得到'錯誤'警報,你需要做一些更深入的探討爲什麼它會這樣做,所以這應該有所幫助。

error: function (jqhxr) { 
      alert(jqhxr); 
     } 

錯誤 類型:Function(jqXHR jqXHR,字符串textStatus,字符串errorThrown)

的jqXHR(jQuery中1.4.x中,XMLHttpRequest的)對象,描述錯誤的發生的類型的字符串和一個可選的異常對象。

一旦收到通知,它將幫助您診斷真正的問題。

希望這會有所幫助!