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只能访问同域下的内容 ...
随机推荐
- Android事件分发机制具体解释
转载注明出处:http://blog.csdn.net/xiaohanluo/article/details/52416141 1. 概述 Android日常研发时,与View接触占领相当多的时间.而 ...
- 使用LAMP创建基于wordpress的个从博客网站 分类: B3_LINUX 2014-07-15 16:45 800人阅读 评论(0) 收藏
参考: http://blog.csdn.net/ck_boss/article/details/27866117 一.mysql配置 1.安装mysql yum install mysql-serv ...
- event.relatedTarget、event.fromElement、event.toElement
在标准DOM中,mouseover和mouseout所发生的元素可以通过event.target来访问,相关元素通过event.relatedTarget属性来访问.event.relatedTarg ...
- TortoiseGit拉取或推送项目提示 HTTP Basic: Access denied fatal: Authentication failed.
TortoiseGit拉取或推送项目提示 HTTP Basic: Access denied fatal: Authentication failed. 大体意思是,HTTP基本认证失败,访问被拒 ...
- Java NIO学习笔记之基本概念
一.缓冲区操作 缓冲区,以及缓冲区如何工作,是所有 I/O 的基础.所谓"输入/输出"讲的无非就是把数据移进或移出缓冲区. 进程使用 read( )系统调用,要求其缓冲区被填满.内 ...
- C++对象模型——对象成员的效率 (Object Member Efficiency)(第三章)
3.5 对象成员的效率 (Object Mem ber Efficiency) 以下某个測试,目的在測试聚合(aggregation).封装(encapsulation),以及继承(Inheritan ...
- 热烈庆祝UE4完全免费Free---GitHub上源码的关联方法
声明:所有权利保留. 转载请说明出处:http://blog.csdn.net/cartzhang/article/details/44040317 IF YOU LOVE SOMETHING, SE ...
- [Angular] Difference between ngAfterViewInit and ngAfterContentInit
Content is what is passed as children. View is the template of the current component. The view is in ...
- 免费的 C/C++ 编译&解释 器列表
摘自<C++编程网>,详细介绍请参考http://www.cpp-prog.com/2009/0520/118.html MicrosoftVisual C++ 2008 Express ...
- C#编写TensorFlow人工智能应用
C#编写TensorFlow人工智能应用 TensorFlowSharp入门使用C#编写TensorFlow人工智能应用学习. TensorFlow简单介绍 TensorFlow 是谷歌的第二代机器学 ...