[英]Uncaught Syntax Error Unexpected token : , but the server received a valid json object from the server
我試圖做一個GET請求到Solr使用搜索引擎的$.ajax()
從jQuery的。 這是我用於進行ajax調用的代碼:
$.ajax({
url : 'http://xxx.xxx.xxx.xxx:port#/solr/mycore/select?indent=on&q=myparam:value&wt=json',
type: "GET",
dataType: "jsonp",
jsonp : "callback",
success: function(data) {
console.log("Success", data);
},
error: function(data) { alert("Error"); }
});
所以我在響應中得到一個有效的json對象,但是瀏覽器以某種方式拋出了Uncaught Syntax Error
。 實際錯誤是:
未捕獲到的SyntaxError:意外令牌:
選擇?indent = on&q = myparam:value&wt = json&callback = ... .... somevalue ...
棘手的部分是,當我在瀏覽器中簽入時,響應標頭是text/plain
。 我該如何解決? 請幫我...
您的網址應如下所示:
http://xxx.xxx.xxx.xxx:port#/solr/mycore/select?indent=on&q=myparam%3Avalue&wt=json
如果要動態生成查詢字符串,請使用encodeURIComponent()正確編碼特殊字符。
我解決了。 實際上,我必須在ajax調用中使用jsonpCallback:"mysuccesscallbackfunction"
,在URL中使用json.wrf=mysuccesscallbackfunction
。 現在看起來像這樣:
$.ajax({
url : 'http://xxx.xxx.xxx.xxx:port#/solr/mycore/select?indent=on&q=myparam:value&wt=json&json.wrf=mysuccesscallbackfunction',
type: "GET",
dataType: "jsonp",
jsonp : "callback",
jsonpCallback:"mysuccesscallbackfunction",
success: function(data) {
console.log("Success", data);
},
error: function(data) { alert("Error"); }
});
我的mysuccesscallbackfunction
是:
function mysuccesscallbackfunction(resp) {
console.log('inside mysuccesscallbackfunction: ', resp );
}
現在,它首先執行mysuccesscallbackfunction
函數內部的mysuccesscallbackfunction
,然后轉到默認的success
回調。 我在網絡上的某個地方找到了它。 我仍然想知道為什么現在可以使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.