1

(XMLHttpRequest cannot load https:// www.cloudflare.com/api_json.html?tkn=&email=&z=&a=rec_load_all&callback=%3F. Origin http:// domainmanager.tech-bytes.org is not allowed by Access-Control-Allow-Origin.)尝试通过 jQuery 向 CloudFlare 发送 JSONP 请求时收到错误消息(由于 Stack Overflow 链接限制,URL 中插入了空格)。CloudFlare API声明您可以通过附加参数来请求 JSONP 回调&callback=mycallback。我不确定是否应该将 mycallback 替换为某些东西,我尝试将其替换为 ? 因为那是其他一些资源所说的,或者如果我必须对我的代码做一些其他修改。

4

2 回答 2

1

尝试以这种方式进行跨域请求。

  $.ajax({ url: "yourUrl",
    data:{paramName1: JSON.stringify(paramValue1),paramName2: JSON.stringify(paramValue2)},

        contentType: "application/json; charset=utf-8",
       dataType: "jsonp",
      success: function(data) {
          alert(data.d);
       },
       error: function(XMLHttpRequest, textStatus, errorThrown) {
           alert(textStatus);
       }
    });
于 2013-02-27T07:35:39.650 回答
0

为此,您可以使用 CORS。

示例代码:

jQuery.support.cors = true; 

function CrosDom_ajax(url) {
        if (window.XDomainRequest
        && $.browser.msie
        && $.browser.version < 10) {
        xdr = new XDomainRequest();
        if (xdr) {
            xdr.onload = function () {
               alert(xdr.responseText);

            };
            xdr.open("get", url);
            xdr.send();
        }
        }
        else {
            $.ajax({
                url: url,
                success: function (response) {


                },
                error: function (data) {
                }
            });
         }
    }

您还需要在服务器端编写以下代码,以允许跨域访问

Response.AppendHeader("Access-Control-Allow-Origin", "*");           
于 2013-02-28T09:19:20.040 回答