2011-04-01 156 views
0

嗯,我試圖訪問php的web服務(返回jsonp和url格式爲http://service.com/service.jsonp)。首先它是無聲的失敗。所以,我嘗試直接在Visual Studio和IE中調試以下代碼。使用jsonp訪問跨域數據

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#btnClick').click(function() { 
      $.ajax({ 
       url: "http://url.jsonp", 
       dataType: "jsonp", 
       jsonp: "data", 
       jsonpCallback: "jsonpcallback" 
      }); 

      function jsonpcallback(data) { 
       alert('doinng it now'); 
      } 
     }); 
    }); 
</script> 

點擊後,數據進入VS(這是一個正確的輸出JSONP),但VS引發錯誤。以下是結果:

複製代碼

data({"code":001,"msg":"true","data":{"obj1":"val1","obj2":"val2"}}) 

錯誤VS:微軟JScript運行時錯誤:「數據」是未定義

回答

0

看來,從服務器返回的錯誤。鑑於你的jQuery參數,結果應該看起來像jsonpcallback({...})。你可以檢查,所要求的網址是:

http://url.jsonp/?data=jsonpcallback 

如果是,服務器端做是錯誤的,並融合了其價值的GET參數名稱。

+0

嗨,輸出看起來像http://url.jsonp?data = jsonpcallback – Mayur 2011-04-01 10:15:11