2016-09-12 55 views
-1

我需要爲intracom創建一個簡單的HTTP GET請求。JSONP Utncaught語法錯誤:意外的令牌

該請求打開了一扇門。如果我在瀏覽器中輸入此URL: http://172.27.1.20/api/switch/ctrl?switch=1&action=on 端口打開並且瀏覽器顯示它。

{ 
"success" : true 
} 

我嘗試使用Ajax的腳本發送HTTP GET但控制檯日誌顯示:

ctrl?callback=jQuery1600571…_1473684252251&switch=1&action=on&_=1473685494405:2 Utncaught SyntaxError: Unexpected oken : 
function test() {    
      $.ajax({ 
       url: 'http://172.27.1.20/api/switch/ctrl', 
       type: 'GET', 
       data: {switch: 1, action: 'on'}, 
       crossDomain: true, 
       dataType: 'jsonp', 
       dataCharset: 'jsonp', 
       contentType: 'application/json', 
       success: function (result) { 
       console.log("OK - RESULT: " + result); 
       }, 
       error: function (result, error) { 
       console.log("ERROR - RESULT: " + result + " - TYPE ERROR: " + error); 
       } 
      }); 
     } 

有人能helpme?

+0

我們e jsonp,因爲我需要從另一個域使用它。 –

+0

如果它有幫助,你可以接受下面的答案嗎? –

回答

0

爲什麼使用jsonp?這真的需要嗎?如果您使用JSONP,則必須設置回調函數作爲響應。我沒有看到你的URL回調函數?

變更網址&附加回調函數

url: http://172.27.1.20/api/switch/ctrl?switch=1&action=on&callback=yourCallbackFunctionName 

當JSONP服務器收到您的請求,並認爲回調參數 - 而不是返回純JS數組,它會返回這樣的:在

yourCallbackFunctionName({['success', 'true']}); 

現在你代碼嘗試讀取數據 - 樣本(未測試)代碼如下

success: function(dataSentInJsonp){ 
         var len = dataSentInJsonp.length; 
         for(var i=0;i<len;i++){ 
          // iterate and get your variables 
           valVariable= dataSentInJsonp[i]; 
          }