Jquery的跨域问题



我正在尝试创建一个chrome扩展,它将从这个URL查找输入词汇表的含义:http://hanviet.org/ajax.php?query=%E6%97%A5&methode=normal

我做了一个ajax调用使用jquery,但得到了一个错误,因为跨域问题:"没有'Access-Control-Allow-Origin'头是在请求的资源。因此,原点'null'不允许访问"。好的,我认为不是直接向URL发出请求,我需要通过代理页面调用它,如下所示:

$.get("/myproxy.php?query=日&methode=normal", function( data ) {
    alert( "Load was performed." );
});

做谷歌搜索后,有另一个chrome扩展名为DHC使http请求:https://www.sprintapi.com/dhcs.html。而且效果非常好!

我想知道DHC工具是否也通过它的代理发送请求,或者有另一种方法来发出我不知道的直接请求。

谢谢!

    $.ajax({
        type: "GET",
        url: 'URL',
        jsonp: 'callback',
        dataType: 'jsonp',
        data: {},
        success: loginSuccess,
        crossDomain: true,
        error: ajaxFailed,
        contentType: 'application/json',
        async: false
    });
    function ajaxFailed(result) {
        alert("Failed: " + result.status + ' ' + result.statusText);
    }
    function loginSuccess(data) {
        alert('Result: ' + data.d);
    }

如果您在该站点上使用chrome的开发人员工具,在网络选项卡上,您将看到按下send按钮后,它会从https://www.sprintapi.com/api/proxy加载内容,所以是的,它应该使用代理。

更重要的是,正如你所说的Access-Control-Allow-Origin不会让他们以另一种方式做到这一点。

相关内容

  • 没有找到相关文章

最新更新