XMLHttpRequest 请求java部署的webservice 跨域问题
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
<head>
<title>企业列表</title>
</head> <body >
</body>
</html> <script type="text/javascript">
var webservice = function() {
var nameSpace = "http://ws.search.serviceinterface.ths.com";
var url = "http://192.168.0.152:8082/service/ws/jsonWebService";
//创建 xmlhttp
var xmlhttp;
var callback;
var createXmlHttp = function() {
if (window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequst) {
xmlhttp = new XMLHttpRequest();
}
};
//回调处理
var setChange = function() {
if (xmlhttp.readyState == 4) {
alert(xmlhttp.status);
alert(xmlhttp.responseText);
if (xmlhttp.status == 200) {
alert(xmlhttp.responseText);
returnData = {};
if (callback) {
if (xmlhttp.responseText != "") {
var json = eval("(" + xmlhttp.responseText + ")");
returnData = json;
}
callback(returnData);
}
}
}
};
//获取字符串长度
var getlen = function(str) {
var bytesCount = 0;
for (var i = 0; i < str.length; i++) {
var c = str.charAt(i);
if (/^[u0000-u00ff]$/.test(c)) {
bytesCount += 1;
} else {
bytesCount += 2;
}
}
return bytesCount;
};
//获取数据串
var getData = function(method, str) {
var data;
data = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
data += "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">";
data += "<soap:Body>";
data += "<"+ method + " xmlns=\"" + nameSpace + "\">";
data += "<in0>402880184877f94f0148862c84530341</in0>";
data += "<in1>8</in1>";
data += "<in2>"+ str + "</in2>";
data += "</" + method + ">";
data += "</soap:Body>";
data += "</soap:Envelope>";
return data;
};
var setRequest = function(method, data) {
createXmlHttp();
xmlhttp.onreadystatechange = setChange;
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Content-Type", "json; charset=utf-8");
xmlhttp.setRequestHeader("Content-Length", getlen(data));
xmlhttp.setRequestHeader("SOAPAction", nameSpace + method);
xmlhttp.send(data);
}
return {
postWs: function(method, data, call) {
var data = getData(method, data);
callback = call;
setRequest(method, data);
}
}
} (); function loadData(){
var enterName=GetQueryString("enterName");
var jsonStr = "{\"pager\":{\"page\":\"\",\"pageSize\":\"10\"},\"params\":[{\"FieldName\":\"STANDENTERID\",\"Value\":\"\",\"Operator\":\"=\"},{\"FieldName\":\"ENTERID\",\"Value\":\"\",\"Operator\":\"=\"},{\"FieldName\":\"ENTERCODE\",\"Value\":\"\",\"Operator\":\"=\"},{\"FieldName\":\"ENTERNAME\",\"Value\":\"%"+enterName+"%\",\"Operator\":\"like\"},{\"FieldName\":\"CORPCODE\",\"Value\":\"\",\"Operator\":\"=\"}]}";
webservice.postWs("RunJsonResult", jsonStr,
function(data) {
alert(data);
});
} function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return (r[2]); return null;
} window.load=loadData(); </script>
此时存在跨域问题,回报一个无权限的访问
第一个解决方法
其它方法就是添加web引用
XMLHttpRequest 请求java部署的webservice 跨域问题的更多相关文章
- ajax访问WebService跨域问题
1.先看一个网站介绍,了解跨域问题 HTTP访问控制(CORS) 2.像谷歌.火狐浏览器对一些非简单请求会触发预检请求,首先使用 OPTIONS 方法发起一个预检请求到服务器,然而IE浏览器 ...
- 基于 HTTP 请求拦截,快速解决跨域和代理 Mock
近几年,随着 Web 开发逐渐成熟,前后端分离的架构设计越来越被众多开发者认可,使得前端和后端可以专注各自的职能,降低沟通成本,提高开发效率. 在前后端分离的开发模式下,前端和后端工程师得以并行工作. ...
- (三)ajax请求不同源之jsonp跨域
凡是拥有"src"这个属性的标签都具有跨域的能力,比如<script>.<img>.<iframe>. JS中,我们直接用XMLHttpRequ ...
- 从零开始学 Java - Spring MVC 实现跨域资源 CORS 请求
论职业的重要性 问:为什么所有家长都希望自己的孩子成为公务员? 答:体面.有权.有钱又悠闲. 问:为什么所有家长都希望自己的孩子成为律师或医生? 答:体面.有钱.有技能. 问:为什么所有家长都不怎么知 ...
- Java利用cors实现跨域请求
由于ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告 网站开发,在某些情况下需要用到跨域. 什么是跨域? 跨域,指 ...
- WebService跨域配置、Ajax跨域请求、附开发过程源码
项目开发过程中需要和其他公司的数据对接,当时我们公司提供的是WebService,本地测试,都是好的,Ajax跨域请求,就报错,配置WebService过程中,花了不少功夫,入不少坑,不过最终问题还是 ...
- Ajax请求WebService跨域问题 [转载]
1.背景 用Jquery中Ajax方式在asp.net开发环境中WebService接口的调用 2.出现的问题 原因分析:浏览器同源策略的影响(即JavaScript或Cookie只能访问同域下的内容 ...
- Java - Spring MVC 实现跨域资源 CORS 请求
拦截器设置响应头 这种方式原理就是利用拦截器在方法执行前,我们增加请求的响应头,用来支持跨域请求.这种方案是可行的,大部分都是采用这种方案.我当时也是打算采用这种方案,直到我发现原来 Spring 框 ...
- Ajax请求WebService跨域问题
1.背景 用Jquery中Ajax方式在asp.net开发环境中WebService接口的调用 2.出现的问题 原因分析:浏览器同源策略的影响(即JavaScript或Cookie只能访问同域下的内容 ...
随机推荐
- 奇虎360Java笔试题
1题 运行下面程序后的输出结果是() public class Test { public static void main(String[] args) { StringBuffer a = new ...
- Android开发中的小技巧
转自:http://blog.csdn.net/guxiao1201/article/details/40655661 简单介绍: startActivities (Intent[] intents) ...
- [Now] Update an application hosted with Zeit’s Now
Because now deploys are immutable, you can’t push changes to a running instance - you just push a ne ...
- Gradle自己定义插件
Gradle自己定义插件 在Gradle中创建自己定义插件,Gradle提供了三种方式: 在build.gradle脚本中直接使用 在buildSrc中使用 在独立Module中使用 开发Gradle ...
- [转载]Ocelot简易教程(二)之快速开始1
Ocelot是为.net core量身定做的,目前是基于 netstandard2.0进行构建的. .NET Core 2.1中如何使用呢? 安装NuGet package 使用nuget安装Ocel ...
- eclipse jdt
http://www.cnblogs.com/hoojo/p/use_eclipse_ant_javac_JDT_compiler_class.html
- html中如何实现表格移入移出时背景颜色改变?(两种方法)
html中如何实现表格移入移出时背景颜色改变?(两种方法) 一.总结 1.通过css的table标签的hover属性: 10 #tab:hover{ 11 background: green 12 } ...
- 后台报错java.lang.IllegalArgumentException: Invalid character found in the request target.
报错: Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang ...
- PatentTips – CoAP Segment size determination
BACKGROUND OF THE INVENTION The subject matter disclosed herein relates to routing data through a ne ...
- Android 截取手机屏幕两种实现方案解析
近期在开发的过程中,遇到了一个须要截取屏幕保存为图片的需求,详细为截取webview的视图保存图片. 方法1:首先想到的思路是利用SDK提供的View.getDrawingCache()方法: pub ...