簡體   English   中英

未捕獲的語法錯誤意外的令牌:,但是服務器從服務器接收到有效的json對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM