我正在使用 SOAP Web 服务从另一台服务器获取响应。我正在使用 Jquery ajax 调用从服务器获取数据。但我从服务器获取0(零)状态码。
如何使用 Jquery 实现跨域 ajax 调用?
与其尝试使用 jQuery 获取跨域数据,不如尝试使用 PHP 或其他允许跨域访问的语言获取数据。创建一个加载 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());
}
你的问题似乎很模糊。但下面是在 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");
}
});
});