2012-02-12 134 views
0
jQuery.support.cors = true; 
    var URL = 'http://blahblah:5555/blahblahWS'; 
    $.ajax({ 
     type: 'POST', 
     url: URL, 
     dataType: 'html', 
     success: function(data, status){ 
      alert(data.responseData.results.length + ' results found!'); 
      $('#curr').wrapInner('<span class="icon green">q</span>'); 
     }, 
     error: function() { 
      $('#curr').wrapInner('<span class="icon red">r</span>'); 
     } 
    }); 

FYI, jQuery.support.cors = TRUE;需要调用本地服务, 类型是义务后,web服务调用返回错误

我喜欢基于Web服务的调用回复显示绿色或红色图标, 它总是给我的错误,唐诺为什么

,但是当我通过尝试这

jQuery.support.cors = true; 
$("#success").load("http://blahblah:5555/blahblahWS", function(response, status, xhr) { 
    if (status == "error") { 
    var msg = "Sorry but there was an error: "; 
    $("#error").html(msg + xhr.status + " " + xhr.statusText); 
    } 
    if (status == "success") { 
     var msg = "no error "; 
     $("#success").html(msg + xhr.status + " " + xhr.statusText); 
     } 
}); 

这说明200 OK响应

说 您好!这是一个Axis2 Web服务!

有什么区别,我如何纠正它在#.ajax()?

+0

你有权访问blahblah上的日志吗?你能确认请求实际上到达那里吗? – malonso 2012-02-12 15:06:01

+0

前者的错误信息是什么? – supertopi 2012-02-12 15:07:04

+0

它显示200 OK响应 说你好!这是一个Axis2 Web服务! – cypronmaya 2012-02-12 15:09:40

回答

1

尝试此链接,学习如何调用跨域Ajax请求

http://cmsnsoftware.blogspot.com/2012/02/how-to-use-cross-domain-ajax-request.html

看到我的回答对这个问题的。

$.ajax call working fine in IE8 and Doesn't work in firefox and chrome browsers

,如果你没有访问到你的web服务,您可以在服务器端建立代理web服务。在服务器端调用Web服务,然后再响应客户端。该响应可以作为普通的web服务读取。

+0

因为你说它在IE8中工作正常,仅供参考,我甚至无法看到这一点,我不能编辑webservice我的目的 – cypronmaya 2012-02-12 17:34:15

+0

尝试在[上述链接](http://cmsnsoftware.blogspot.com/2012 /02/how-to-use-cross-domain-ajax-request.html)来访问跨域Web服务。 – 2012-02-12 17:36:26