2014-02-26 2 views
1
I가 봤 검색이

하지만 성공 작동하지IE 8 + XDomainRequest 'POST'는 솔루션을 달성하기 위해 WebAPI

내 코드

var xdr = new XDomainRequest(); 
if (xdr) { 
    $.support.cors = true; 
    xdr.open(method, svcUrl, true); 
    xdr.onload = function() { 
     var result = $.parseJSON(xdr.responseText); 
     if (result === null || typeof (result) === 'undefined') { 
      result = $.parseJSON(
       data.textContent); 
     }  
     if ($.isFunction(successCallBackFunction)) { 
      successCallBackFunction(result); 
     } 
    }; 
    xdr.onerror = function() { 
     if ($.isFunction(errorCallBackFunction)) { 
      errorCallBackFunction(); 
     } 
    }; 
    xdr.onprogress = function() {}; 
    xdr.send(JSON.stringify(params)); 
} 
return xdr; 

내 문제입니다 요청 내 webapi 타격 되나 데이터가 null입니다.

답변

0

나는이 문제를 여러 날 겪었으며 마침내 동일한 도메인에서 AJAX 요청 (Action in my application)을 만들었습니다. 이 작업은 Web APIwe can call server to server을 의미하고 웹 api의 응답은 ajax으로 보냅니다.

0

xdr.send($.parseJSON(params)) 잘못된 것으로 보입니다. js 객체를 전달 메소드에 전달하면 안됩니다. 올바른 Content-type Hea를 지정하여 json 문자열이나 namevalue 콜렉션 (예 : 양식 게시)을 전달해야합니다. der (application/json or application/x-www-form-urlencoded)

+0

그것은'json string'입니다. – Amit

+0

하지만 $ parseJSON (params)은 params가 json string 인 경우 구문 분석하지 않으면 객체로 역 직렬화합니다. – lavrik

+0

업데이트 된 질문 – Amit