2012-01-06 123 views
0

我正在做一些jsonp請求。我知道,如果你把callback =?jQuery會做出一個很好的jsonp回調函數名稱?在URL上。但是,我以非標準方式提出請求。爲jsonp生成回調名稱

所以我想知道是否有人有一個很好的函數來生成一個函數的名稱來包裝jsonp響應?

回答

1

您可以通過簡單地保持一個全球性的整數生成自己的名字,增加它,並把它添加到標準的名稱,如「jsonPCallback」

var jpSuffix=0; 

function getNextCallbackName() 
{ 
    return "jsonPCallback" + jpSuffix++; 
} 

但更可能的是,如果你是一個特定的JsonP調用並始終執行相同的函數,只需使用一個名稱創建該函數,如使用一個參數的「myJsonPCallback」,然後在URL中指定「?callback = myJsonPCallback」。服務器應返回代碼,然後調用myJsonPCallback與JSON數據對象作爲其參數。