2014-03-24 2 views
0

사용하여 웹 서비스에서 JSON 받기 그래서 내 자바 스크립트는 다음과 같습니다jQuery를

try { 
     var response = $.ajax({ 
      type: "GET", 
      contentType: "application/json; charset=utf-8", 
      url: "BudgService.asmx/LoadDetail", 
      data: "{'building': '63170', 'CurrentYear':'2014'}", 
      dataType: "json" 
     }); 
     $.when(response).then(function() { 
      loadData(); 
     }); 
    } catch (err) { 
     alert(err); 
    } 

    function LoadData() { 
     alert('here'); 
    } 

그리고 웹 서비스

[ScriptMethod] 
    public string LoadDetail(string building, string CurrentYear) { 
     return "[{color:\"red\", value: \"#f00\"}]"; 
    } 

하지만이 loadData 기능에 결코 아무것도 응답으로 채워 않겠다.

무엇이 누락 되었습니까?

+1

브라우저에서'BudgService.asmx/LoadDetail'을 직접 방문하면 어떻게됩니까? –

답변

1

JSON이 유효하지 않습니다. 당신의 응답시

: 자바 스크립트에서

속성 이름은 문자열이나 식별자 일 수 있으며, 문자 그대로의 구문을 반대하지만, JSON에서 그들은 문자열이어야합니다. 귀하의 요청에 대한

"[{\"color\":\"red\", \"value\": \"#f00\"}]" 

: 자바 스크립트에서

는 문자열 " 또는 ' 문자로 구분 될 수 있지만, JSON에서 그들은 " 문자로 구분해야합니다. 엄지 손가락의 규칙으로

data: '{"building": "63170", "CurrentYear":"2014"}', 

, 기본 데이터 구조를 구축하고 대신 JSON을 공예 노력의 JSON에에는 직렬화하기 위해 JSON 라이브러리를 사용하는 것이 좋습니다.

또한 GET 요청에 요청 본문을 포함 할 수 없습니다. POST를 사용해야합니다.

+0

완벽한 감사합니다! – duckmike