利用JQuery和Servlet实现跨域提交请求示例分享

前端技术 2023/09/02 JavaScript

原理:JavaScript的Ajax不可以跨域,但是可以通过向本地的一个Servlet发出请求,由Servlet完成跨域。再把远程的结构返回给客户端。这样Ajax就可以跨域了。在后面,再发一个PHP版本的,请大家关注啊。下面是代码

JS代码:

注意:在Post方式时,param1和param2为向远程发送的参数值,可以有多个。

复制代码 代码如下:

//GET方式
function reqeustCrossDomainProxyGet(){
    var url = \"http://www.baidu.com\";//远程请求地址
    var param = {\'requesturl\':url,\'typedata\':\'JSON\'};
    var data = getCrossDomainProxyRemote(param,\"json\");
}
//Post方式
function reqeustCrossDomainProxyPost(param1,param2){
    var url = apiServer+\"/api/lucene/query\";
    var param = {\'requesturl\':url,\'typedata\':\'JSON\',\'param1\':param1,\'param2\':param2};
    var data = getCrossDomainProxyRemote(param,\"json\");
}

/**
 * JS向本址的一个Servlet发送POST请求,所有关于远程请求的参数。
 * 在此处参POST方式发送给Servlet
 * @param param 远程请求参数
 * @param rtype JS返回类型(暂时没有用到)
 * @return
 */
function getCrossDomainProxyRemote(param,rtype){
    var url = \"/cross/proxy\";//Servlet的URL地址
    var returndata;
    $.ajax({
        url: url,type: \'POST\',dataType: rtype,timeout: 40000,data:param, async:false,
        error: function(response,error) {alert(response.status);},
        success: function(data){returndata=data;}
    });
    return returndata;
}

本文地址:https://www.stayed.cn/item/5449

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。