是可以对外部网页进行ajax调用吗?

时间:2018-05-31 11:33:23

标签: javascript ajax

是否可以通过ajax调用调用另一个网站的页面? 我的猜测是可能的,因为连接没有被拒绝,但我无法弄清楚如何使我的ajax呼叫工作,我打电话给一个网站的电视频道列表,但我没有结果,你能不能看到如果我的脚本包含任何错误

function showValues(){
var myUrl="http://www.nilesat.com.eg/en/Home/ChannelList";
var all = 1;
$.ajax({
    url: myUrl+"&callback=?",
    data: "channelType="+all,
    type: 'POST',
    success: function(data) {
        $('#showdata').html(data);
    },
    error: function(e) {
        alert('Error: '+data);
    }  
});


} 


  showValues();

html div for results

<div id="showdata" name ="showdata">
</div>

1 个答案:

答案 0 :(得分:0)

Ajax调用在不同的域中无效。您可以使用JSONPJQuery-ajax-cross-domain是一个类似的问题,可能会给你一些见解。此外,您还需要确保JSONP也必须在您从中获取数据的域中实现。

以下是jquery ajax()的示例,但您可能需要查看$.getJSON()

$.ajax({
    url: 'http://yourUrl?callback=?',
    dataType: 'jsonp',
    success: processJSON
});

另一个选项是CORS(跨域资源共享),但是,这需要另一个服务器启用CORS,在这种情况下很可能不会发生。

你可以试试这个:

    function showValues(){
    var myUrl="http://www.nilesat.com.eg/en/Home/ChannelList";
    var all = 1;

    $.ajax({
        url: myUrl,
        data: channelType="+all,
        type: 'POST',
        success: function (data) {
            //do something
        },
        error: function(e) {
            alert('Error: '+e);
        }  
    });

}