如何使用JQuery使SOAP请求跨域

时间:2013-03-11 06:24:04

标签: jquery ajax soap

我使用SOAP Web服务从另一台服务器获取响应。我正在使用Jquery ajax调用从服务器获取数据。但我从服务器获取 0 (零)状态代码。

如何使用Jquery实现跨域ajax调用?

2 个答案:

答案 0 :(得分:1)

尝试使用PHP或其他允许跨域访问的语言来获取数据,而不是尝试使用jQuery获取跨域数据。创建一个加载SOAP数据的PHP页面,并使用jQuery将该信息嵌入到页面中。虽然它不是SOAP连接,但为了说明这个想法,你可以创建这个PHP页面来加载Youtube视频:

<?php
$vid = filter_var($_POST['id'], FILTER_SANITIZE_STRING);
?>
<?php if ($vid) : ?>
    <iframe title="YouTube video player" width="510" height="317" src="http://www.youtube.com/embed/<?php echo $vid; ?>?autoplay=1" frameborder="0" allowfullscreen></iframe>
<?php endif; ?>

然后使用jQuery显示它 - 单击链接可以调用此函数:

function loadContent() {
$(this).parent().load("/youtube-video.php",{id:video_id},showNewContent());
}

答案 1 :(得分:0)

你的问题似乎很模糊。但下面是在jQuery中进行跨域请求的方法之一:

$(function() {
            $.ajax({
                type:'GET',
                dataType:'jsonp',
                jsonp:'jsonp',
                url:'http://api.stackoverflow.com/1.0/tags/',
                success:function(data) {
                    $.each(data["tags"], function(index, item) {
                        var $tag = item.name;
                        var $count = item.count;
                        $("body").append('<div class="stackoverflow"> The Tag
              <span class="q-tag">' + $tag + '</span> has <
span class="q-count">'
 + $count + '</span> Questions.</div>')
                    });
                },
                error:function() {
                    alert("Sorry, I can't get the feed");  
                }
            });
        });

DEMO

DESCRIPTION OF THE ABOVE