2016-06-21 24 views
-1

我正在通過Jsonp調用一個rest API。 API服務器返回正確的值,但是我在'參數列表'之後'缺少')並且ajax返回錯誤。這裏有什麼不對?jsonp call:missing)在參數列表後

在Javascript中,

$.ajax({ 
url: 'http://localhost:8080/version', 
dataType: 'jsonp', 
type: 'GET', 
success: function (data) { 
    console.log(data); 
}, 
error: function(xhr, status, error){ 
    console.log(xhr.status + ": " + xhr.responseText) 
}, 

});

在Java中,

@GET 
@Produces("application/javascript") 
public String getVersion(@QueryParam("callback") String callback) { 
     return callback + "(hello)"; 
} 
+0

顯示生成錯誤的實際JSONP文本。你的Java代碼產生了一些不正確的東西,但是在錯誤信息建議的方式上並不正確。 –

回答

1

我看不出你是如何得到這錯誤,但JSONP響應是錯誤的。你發回這樣的東西:

callbackName(hello) 

這需要一個全球hello變量;你好應該在報價:

callbackName("hello") 

所以:

@GET 
@Produces("application/javascript") 
public String getVersion(@QueryParam("callback") String callback) { 
     return callback + "(\"hello\")"; 
// NOTE ------------------^^-----^^ 
} 

關於

missing) after argument list

這是什麼樣的事情,會產生錯誤:

callbackName("hello" 

或缺少,之間的參數也會產生它:

callbackName("hi" "there") 
+0

非常感謝..已解決^^ – user2307087