2012-07-13 2 views
4

IE8 버전 8.0.7600 이하에서 ajax 요청을 할 때 "유효하지 않은 JSON Promitive : undefined"오류가 발생하거나 8.0.7601 이상에서 복제 할 수 없습니다. . 누구든지 그것을 고칠 이유를 어떻게 압니까?IE8 버전 8.0.7600 이하에서 유효하지 않은 JSON Primitive

$.ajax({ 
    url: defaults.url + (defaults.url.indexOf('?') > 0 ? '&' : '?') + 'r=' + Math.random(), 
    type: defaults.method, 
    contentType: 'application/json', 
    dataType: defaults.dataType, 
    data: ko.toJSON(defaults.data), 
    beforeSend: function (xhr, settings) { 
     xhr.setRequestHeader("URL_REFERRER", config.urlReferrer); 
     xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); 
    }, 
)} 

컨트롤러

public virtual JsonResult CompleteOrder(string id) 
{ 
    _entitlementsService.CompleteOrder(AuthenticateManager.CurrentUserProfile.UserModel.UserId, id); 
    return Json(new SuccessResponse("Order completed")); 
} 

요청

Request URL:http://localhost:16253/DashboardSetup/Entitlements/CompleteOrder/c8e053d9-a458-11e1-8dd0-001cc4565d26?r=0.8639180345926434 
Request Method:POST 
Status Code:200 OK 
Request Headersview source 
Accept:*/* 
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8 
Connection:keep-alive 
Content-Length:0 
Content-Type:application/json 
Cookie:MYNGCONNECT=56053B332B26A0FD9D0A31C5FC83868281D876DB1F365034306F6CB3A64C5B2F7 
Host:localhost:16253 
Origin:http://localhost:16253 
Referer:http://localhost:16253/DashboardSetup/Entitlements/Entitlement?SearchResults=True&id=c8e053d9-a458-11e1-8dd0-001cc4565d26 
URL_REFERRER:http://localhost:16253/DashboardSetup/Entitlements 
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11 
X-Requested-With:XMLHttpRequest 
Query String Parametersview URL encoded 
r:0.8639180345926434 
+0

아약스 게시물이나 기타에 '데이터'가있는가요? –

+0

나는 IE8의 그 버전을 가지고 있지 않기 때문에 나는 데이터를 보내고있다. –

+0

코드의 해당 부분을 게시 할 수 있습니까? 나는 '데이터'를 의미합니다 –

답변

0

변경 당신의 contentType에 "텍스트/JSON"또는 "텍스트/일반". 이전 IE는 헤더에 다른 내용 유형 처리가 필요합니다.

관련 문제