2012-09-04 47 views
-1

我想要jquery從我的MVC控制器中獲取JsonResult,但它沒有收到任何數據!MVC JsonResult不能使用chrome?

如果我把輸出到一個文本文件,並輸入其鏈接工作,所以我認爲我的jQuery沒問題。

然後我正在用其他瀏覽器(如chrome)進行測試,結果我看不到任何東西。請求的頁面只是emtpy ..沒有錯誤。 IE也似乎有問題接收我的字符串..只有Firefox顯示字符串,但爲什麼?

public JsonResult jsonLastRequests() 
    { 
     List<Request> requests = new List<Request>(); 
     while (r.Read()) 
     { 
      requests.Add(new Models.Request() 
      { 
       ID = (int)r[0], 
       SiteID = r[1].ToString(), 
       Lat = r[2].ToString(), 
       City = r[4].ToString(), 
       CreationTime = (DateTime)r[5] 
      }); 
     } 
     r.Close(); 
     return Json(requests); 
    } 

我發現,也如果我想返回JSON字符串作爲其不工作! 及其與所有瀏覽器的字符串工作現在..但jQuery是還沒有加載任何

 var url = "http://../jsonLastRequests"; 
     var source = 
     { 
      datatype: "json", 
      datafields: [ 
       { name: 'ID' }, 
       { name: 'SiteID' }, 
       { name: 'Lat' }, 
       { name: 'CreationTime' }, 
       { name: 'City' }, 
      ], 
      id: 'id', 
      url: url 
     }; 
     var dataAdapter = new $.jqx.dataAdapter(source, { 
      downloadComplete: function (data, status, xhr) { }, 
      loadComplete: function (data) { }, 
      loadError: function (xhr, status, error) { } 
     }); 

我通過增加固定我的問題: 訪問控制允許來源:*

+0

您的代碼缺少的部分(其中DataReader的河,是從哪裏來的?),但假設這是一個下調的版本,我沒有看到anyt興錯了... – Icarus

+0

緩存問題?嘗試在jQuery.ajax調用中設置緩存:false ... –

+0

它與jQuery無關,因爲我看不到任何im chrome –

回答

1
public HtmlString jsonLastRequests() 
    { 
     List<Request> requests = new List<Request>(); 
     while (r.Read()) 
     { 
      requests.Add(new Models.Request() 
      { 
       ID = (int)r[0], 
       SiteID = r[1].ToString(), 
       Lat = r[2].ToString(), 
       City = r[4].ToString(), 
       CreationTime = (DateTime)r[5] 
      }); 
     } r.Close(); 
System.Web.Script.Serialization.JavaScriptSerializer jSerializer = new System.Web.Script.Serialization.JavaScriptSerializer(); 


      return new HtmlString(jSerializer.Serialize(requests));} 

我做了同樣的計算策略這樣

$.ajax({ 
     type: 'POST', 
     url: '/home/GetSurvey', 
     data: { 
      XmlPath: $("#xmlpath").val() 
     }, 
     dataType: 'json', 
     success: function (jsonData) { 
      jsonStringQuestionaire = jsonData; 
      LoadSurvey(); 
     }, 
     error: function() { 
      alert('Error loading ' + id); 
     } 
    }); 
questionaireJsonList = eval(jsonStringQuestionaire); 
+0

不工作對我來說.. –

+0

好吧夥計我會嘗試一些 –

+0

我得到這個錯誤:起源http://127.0.0.1是不是由Access-Control-Allow-Origin允許。 –