weeki

导航

关于jquery跨域调用REST服务的问题

    之前用jquery的ajax请求访问REST,用"GET/POST"发送http请求,服务端收到的总是“Option”方法。网上了解到其实是跨域导致的,结果是http header 和params都无法获取到。

    然后,就查了下jquery的跨域调用,发现只要用jsonp的方式就可以,代码如下:

        var postdata = {'Authorization':'AWS cuimeng1:1232432453'}
        var dDate = "Wed, 01 Mar 2009 12:00:00 GMT";
        $.ajax({
           url:HOST_URL,
           type:'GET',
           dataType:'jsonp',
           jsonp: 'callback',
           data: postdata,
           header:{
               "Authorization":"AWS cuimeng1:1232432453"
           },
            beforeSend: function(xhr) {
                xhr.setRequestHeader("Date",dDate);
                xhr.setRequestHeader("Authorization","AWS cuimeng1:1232432453");
            },
            success:function(result){
                alert('ok');
           },
            error:function(xhr,textStatus,errowThrown){
                alert(xhr.status);
                alert(textStatus);
            }
        });

 

 

posted on 2012-08-10 09:09  weeki  阅读(648)  评论(0)    收藏  举报