WebWorks中使用JQuery的getJSON方法进行跨域访问
遇到的问题:
1. 测试环境
Firefox, Chrome都不能回调checkSIGNIN_callback方法
诊断:在服务器上监听89端口,数据请求到达,正常返回JSON格式的数据
解决:使用IM的Ripple进行调试
2. 黑莓真机上面上测试,该code没有成功执行网络访问
诊断:在服务器上监听89端口,发现根本没有数据请求到达,也没有数据返回。
可能问题:a)config.xml文件里面access controll b)运营商(联通)网络对特殊端口89的访问限制
解决方法:服务器上做端口修改或者端口映射,最后把89端口改成了80端口;同时程序中把端口89改为80。
(为保证原有exlive服务器用户能正常登录,我是在路由器上面把89映射为两个对外端口80和89)
代码片段:
[javascript]
function checkSIGNIN_callback(data) {
[javascript] view plaincopy
<span style="white-space:pre"> </span>if (data.signInTime == "") { //not sign in
$("#signin_button").text("签到");
$('#signin_button').button('refresh');
}if (data.signOutTime == "") { //not sign out
$("#signin_button").text("签出");
$('#signin_button').button('refresh');
}else {
$("#signin_button").text("签到/签出");
$('#signin_button').button('refresh');
}
alert(6);
}
function checkSIGNIN() {
alert("gPhone is " + gPhone);
jQuery.support.cors = true;
checkSIGNIN_url = "http://shanghai.springworks.info:89/pgps/empPr/empParamAction_sendEmpParam.action?phone=" + gPhone;
$.getJSON(checkSIGNIN_url, checkSIGNIN_callback);
}
补充:web前端 , JavaScript ,