jquery调用webservice报错

tokeyro 2016-06-10 04:35:42
js调用WebService:

//WebService所在服务器IP地址
var httpUrl = "http://192.168.0.240";

/*jQuery ajax调用WebService
---------------------------------------------*/
;function webserviceJson(asmxName,methodName,jData) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: httpUrl + "/"+ asmxName + "/" + methodName,
data: jData,
dataType: 'json',
beforeSend: function () {
// 禁用按钮防止重复提交
$("#btnSubmit").attr({ disabled: "disabled" });
$("loading").show();
},
success: function (json) {
f_GetLogin(json);
},
complete: function () {
//解除按钮
$("#btnSubmit").removeAttr("disabled");
$("loading").hide();
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
WebServiceErroReturn(textStatus);
//console.info("error: " + data.responseText);
}

});
}

调 用代码:
function f_Login(vUserName,vPassWord){

//获得文档框数据
var inpUserName = this.document.getElementById(vUserName);
var inpPassWord = this.document.getElementById(vPassWord);

//传送给 WebService
var data = '{"LG_V_LoginName": "'+inpUserName.value+'"'
+',"LG_V_PassWord": "' + inpPassWord.value + '"}';

webserviceJson('WBS_SignInformation.asmx','f_Login',data);
}


/*返回处理*/
;function f_GetLogin(jsonD) {
$.each(jsonD.d, function (key, value) {
if(value.LG_ID > -1 )
{
//成功
}
else
{
//失败
}
});
}

说明:
WebService在另一台服务器上(IP:192.168.0.240)
JS调用代码所在的IIS服务在开发计算机上(IP:192.168.0.141)

问题:
在本地目录里面直接打开调用的HTML页没有问题,把调用的HTMl文件发布到IIS上调用不行(不执行success里的函数,执行error里的函数)
请各位大神看看是什么原因,谢谢
...全文
198 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tokeyro 2016-06-12
  • 打赏
  • 举报
回复
是跨域问题,我把两个放在一个IIS网站下就没问题。谢谢
licip 2016-06-12
  • 打赏
  • 举报
回复
楼上说的很对,你这种用法是跨域了。不能直接这种用的。
Go 旅城通票 2016-06-11
  • 打赏
  • 举报
回复
跨域报错了,要域名,端口号及协议都要一模一样 要是其他服务器上的,要改为jsonp数据,自己去了解什么是jsonp。 否则就需要在192.168.0.141做个代理页面,代理页面用服务器端xhr请求ws,然后输出内容,ajax请求代理页面,而不是直接请求ws

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧