2012-09-04 4 views
-1

jquery 내 MVC 컨트롤러에서 JsonResult 걸릴하지만 원하는 모든 데이터를받지 않습니다!MVC JsonResult가 Chrome에서 작동하지 않습니까?

출력을 텍스트 파일에 넣고 해당 링크를 입력하면 jQuery가 정상적으로 작동한다고 생각합니다.

그런 다음 크롬과 같은 다른 브라우저로 테스트 중이 었는데 아무 것도 보지 못했습니다. 요청한 페이지는 단지 emtpy ... 오류가 없습니다. 또한 IE는 내 문자열을받는 데 문제가있는 것 같습니다 .. 파이어 폭스 만 문자열을 표시하지만 왜?

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을 문자열로 반환하려는 경우에도 작동하지 않는 것으로 나타났습니다. 액세스 제어 - 허용 - 출처 : I 추가하여 내 문제를 해결 그것의 지금 모든 브라우저에서 문자열 작업 ...하지만 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

귀하의 코드처럼 같은 approch을했을 그것으로 힌지 잘못 ... – Icarus

+0

캐싱 문제? jQuery.ajax 호출에서 cache : false를 설정해보십시오. –

+0

아무런 메신저도 볼 수 없기 때문에 jQuery와 아무런 관련이 없습니다. –

답변

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));} 

나는 조각 누락 (어디에서 DataReader를, R 오는?)하지만이 다운 손질 버전, 나는 anyt이 표시되지 않는되었다고 가정한다이

$.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에 의해 허용됩니다. –

관련 문제