2016-06-28 126 views
2

我創建了一個簡單的表單,通過API返回翻譯鍵列表。但它說Uncaught SyntaxError: Unexpected token :這是我的示例代碼。未捕獲的SyntaxError:意外的令牌:AJAX

我的形式:

<form id="upload_form"> 
    <button type="submit">Ajax Request</button> 
</form> 

我的Ajax調用:

$("#upload_form").submit(function(e){ 
e.preventDefault(); 
$.ajax({ 
    url:'https://lokali.se/api/string/list', 
data:'api_token=641bc8455768b09589806c7d489640789cfb49e1&id=7509115157679787966292.60209031', 
    dataType:'jsonp', 
    type:'post', 
    contentType: 'application/x-www-form-urlencoded', 

    success:function(response){ 
    console.log('hi'); 
    console.log(response);  
    }, 
});  
}); 

當我測試的API,可以通過郵遞員它返回成功確定200響應 僅供參考,請找到截圖 Postman

我的錯誤是來自這裏{"response":{"status":"error","code":4049,"message":"Missing request parameter"}}任何人都可以幫助我嗎?

+0

能不能請你像:不是'數據:api_token = 641bc8455768b09';嘗試傳遞一個對象,如'data:{api_token:'641bc84557 ...',id:'7509115 ...'}' – vijayP

+1

它因爲你使用jsonp,爲什麼不只是使用json ?,繼承人同樣的問題http:// stackoverflow.com/questions/10507345/ajax-and-jsonp-parseerror-and-uncaught-syntaxerror-unexpected-token –

+0

@vijayP'{api_token:'64 ...',id:'7509 ..'}'仍然是一樣的錯誤:( – saravana

回答

0

你可以嘗試像下面這樣嗎?

$("#upload_form").submit(function(e){ 
 
e.preventDefault(); 
 
    var envelope = {}; 
 
    envelope.api_token = '641bc8455768b09589806c7d489640789cfb49e1'; 
 
    envelope.id='7509115157679787966292.60209031'; 
 
$.ajax({ 
 
    url:'https://lokali.se/api/string/list', 
 
    data:envelope, 
 
    dataType:'json', 
 
    type:'post', 
 
    contentType: 'application/x-www-form-urlencoded', 
 
    success:function(response){ 
 
    console.log('hi'); 
 
    console.log(response);  
 
    }, 
 
});  
 
});

+0

如果我將數據類型添加爲json它顯示上述註釋中提到的跨域錯誤 – saravana

+0

這與CORS有關。你可以在這裏參考http://stackoverflow.com/a/20442852/4848251 –

相關問題