簡體   English   中英

Ajax跨域腳本請求

[英]Ajax cross domain script request

我有以下代碼,試圖評估從HTTPS URL返回的一些Javascript。 我在localhost:8080上本地運行代碼,但是ajax請求沒有返回腳本,它以未定義的形式返回。

$.ajax({
    crossDomain: true,
    dataType: 'script',
    url: 'https://mysite.io/live?action=isAvailable',
    success: init,
    error: function (jqXHR, textStatus, msg) {
        failure();
    },
    timeout: 2000,
    cache: false
});

function init(data) {
    var isAvailable = undefined;
    eval(data);
    if (isAvailable) {
        chatAvailable();
    } else {
        chatUnavailable();
    }
}

這是我在Chrome中訪問URL時的響應:[https://mysite.io/live?action=isAvailable]:

響應標頭:HTTP / 1.1 200 OK內容語言:zh-CN內容類型:text / javascript; charset = UTF-8日期:2013年11月19日,星期二,05:59:25 GMT p3p:CP =“ NON CUR OTPi OUR NOR UNI“ x-old-content-length:23傳輸編碼:分塊

響應正文:var isAvailable = true;

當我在[http:// localhost:8080]的本地計算機上運行此代碼時,為什么不起作用?

您需要在服務器上啟用CORS。 是啟用CORS的良好資源。

嘗試這樣的事情

    $.ajax({
        dataType: 'jsonp',
        url: 'https://mysite.io/live?action=isAvailable?callback=?',
        success: init,
        error: function (jqXHR, textStatus, msg) {
            failure();
        },
        timeout: 2000,
        cache: false
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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