1

我正在使用 jquery mobile 和 phonegap 构建本机 Web 应用程序。数据从外部服务器加载。现在必须使用 ssl 加载数据,但出现错误:

NETWORK_ERR:XMLHttpRequest 异常 101

我尝试了 Chrome REST 客户端,一切正常。

代码:

WebService.prototype.execute = function (url, params) {
    var result = {
        HttpResponseObject : {},

        onSuccess : function (data) {       
            result.HttpResponseObject.response = JSON.parse(data);
        },

        onError : function (XMLHttpRequest, textStatus, errorThrown) {          
            $.mobile.hidePageLoadingMsg();          

            // TODO some logging for errors
            console.log(JSON.stringify(XMLHttpRequest));
            console.log(JSON.stringify(textStatus));
            console.log(JSON.stringify(errorThrown));       
        }
    };

    $.ajax({
        url:            url,
        type:           'POST',
        async:          false,
        data:           JSON.stringify(params),
        dataType:       'text',
        contentType:    'application/json',
        error:          result.onError,
        success:        result.onSuccess
    });

    return result;
};
4

2 回答 2

1

这就是我为了使用 ajax 查询外部 API 所做的...

 $.ajax({
        type: "GET",
        url: "http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=[myAPIKey]&q=" + movie.title + "&page_limit=1",
        contentType: "application/json; charset=utf-8",
        crossDomain: true,
        dataType: 'jsonp',
        success: function (msg) {
            ...awesome code here
        }});

这里的关键是“crossDomain:true”行(对于某些服务也可能是 dataType:'jsonp')。

于 2013-01-10T14:43:27.277 回答
0

这将对您有所帮助 - ajax 调用不适用于外部 url,但有一种解决方法:

如何在 jquery 中调用外部 url?

于 2012-09-05T08:31:26.343 回答