我正在尋找解決方案如何使用Web Workers中的JSONP將數據從/發送到/發送到其他域。使用JSONP和Web Workers的跨源資源共享(CORS)
由於Web Workers無法訪問DOM,因此無法將<script>
標記的URL和回調參數附加到Web Workers的<head>
標記中。
有誰知道,如何使用JSONP和Web Workers將數據從/發送到另一個域?
感謝,
我正在尋找解決方案如何使用Web Workers中的JSONP將數據從/發送到/發送到其他域。使用JSONP和Web Workers的跨源資源共享(CORS)
由於Web Workers無法訪問DOM,因此無法將<script>
標記的URL和回調參數附加到Web Workers的<head>
標記中。
有誰知道,如何使用JSONP和Web Workers將數據從/發送到另一個域?
感謝,
CORS是具有無關JSONP超越使其在新的瀏覽器已經過時的規範。它使用普通的XMLHttpRequest調用啓用跨域請求。
這是an overview它是如何工作的以及如何使用它。它可用於Firefox 3.5+,Safari 4+,Chrome 3+,Internet Explorer 8+和anything else using one of the same engines。
看一看這段代碼:
// Helper function to make the server requests
function MakeServerRequest()
{
importScripts("http://SomeServer.com?jsonp=HandleRequest");
}
// Callback function for the JSONP result
function HandleRequest(objJSON)
{
// Up to you what you do with the data received. In this case I pass
// it back to the UI layer so that an alert can be displayed to prove
// to me that the JSONP request worked.
postMessage("Data returned from the server...FirstName: "
+ objJSON.FirstName + " LastName: " + objJSON.LastName);
}
// Trigger the server request for the JSONP data
MakeServerRequest();
這個工程,postMessage可能會更容易,但... – spolu 2013-10-07 13:11:21
這是優秀的!我真的開始認爲來自WebWorker的跨域Ajax調用是不可能的。謝謝! – 2013-12-22 14:21:27
狀態更新嗎?如果我的答案解決了問題,我將非常感謝「最佳答案」複選標記。如果沒有,請告訴我爲什麼我可以改進它。 – ssokolow 2010-09-27 15:27:38