[英]Getting a parseerror from jQuery $.ajax post return using jsonp from Trakt.tv api
使用Trakt.tv API。 看來我可以驗證身份時正在發送有效的json,但收到的返回消息是解析錯誤。
Resource interpreted as Script but transferred with MIME type text/html:
http://api.trakt.tv/recommendations/shows/myApiKeyCompleteNumbers?callback=jQuery111000155555475132972_1397674204444&{%22username%22:%22userName%22,%22password%22:%22mySha1PassComplete%22}&_=1397674207093
Uncaught SyntaxError: Unexpected identifier
回報說:
Disallowed Key Characters.
我正在使用:jQuery 1.11.0
在此先感謝您的幫助或指導
$(document).ready(function () {
function success(data) {
alert('data: ' + data);
}
var traktUser = 'myUserName';
var traktHash = 'mySha1Password';
var traktApi = 'myApiKey';
var data = {
'username': traktUser,
'password': traktHash
};
var postData = JSON.stringify(data);
var apiUrl = 'http://api.trakt.tv/recommendations/shows/' + traktApi;
$.ajax({
type: 'POST',
url: apiUrl,
data: postData,
contentType: 'application/json',
dataType: 'jsonp',
}).
done(success);
}); //document ready
您無法使用JSONP發出POST請求,jQuery忽略了POST指令並發出GET請求。
您的數據被放置在查詢字符串中,並且未正確進行URL編碼。
服務器正在響應包含錯誤消息的HTML文檔,而不是根據JSONP規則格式化的JavaScript腳本。
您要使用的API似乎根本不支持JSONP。 由於您在請求中傳遞了自己的用戶憑據,因此這很有意義。 JSONP是一種可解決由瀏覽器實現的同源策略的黑客(如今我們可以改用CORS),除非您希望最終用戶瀏覽器直接訪問API,否則使用它毫無意義。 由於最終用戶瀏覽器無法在沒有用戶名和密碼的情況下訪問它,因此似乎不太可能以這種方式使用它。
而是從服務器上的API處理數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.