我在本地有一个Html文件,代码如下
<h1>This is session token </h1>
<div id="noob"></div>
<script src="http://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script>
<script>
$(document).ready(function(){
var sessiontoken;
var randomUser = Math.round(Math.random() * 1000000);
var supportCors = $.support.cors;
var sessiontoken ;
$.support.cors = true;
$.ajax({
type: 'POST',
url: "https://abc.com/Gateway.Session/Session",
dataType: "json",
data: {
UserId: "TestUser" + randomUser,
CSK1: "abc",
CustId: "cde"
},
success: function (data) {
$.support.cors = supportCors;
sessiontoken=data.Token;
alert(sessiontoken);
document.getElementById('noob').innerHTML = sessiontoken;
},
error: function (xhr, textStatus, error) {
$.support.cors = supportCors;
alert("responseText: " + xhr.responseText);
alert("XHR statusText: " + xhr.statusText);
alert("textStatus: " + textStatus);
alert("error: " + error.message);
}
});
});
</script>
此代码在本地运行时(例如:c:/development/mypage.html)在启用IE7的弹出“允许运行javascript”后生成会话令牌。 即,上面javascript中的ajax函数返回'成功' 在本地运行时,会生成会话令牌。 但是当这个代码部署在服务器中并在IE7中打开时(http:// localhost:8080 / mypage.html),这里上面脚本的ajax函数返回'error'。
当我们在本地运行文件时,我们启用弹出窗口以允许运行脚本。 但是当文件部署在服务器中时,我们不会得到这样的弹出窗口,因为当从服务器访问html页面时,javascript会自行运行。 当我们从服务器提交文件时,我无法弄清楚为什么控制转向“错误”部分“成功”
那么当从服务器访问时,如何让这个ajax函数返回'success'部分。
当在本地或从服务器访问时,文件在chrome中执行正常。现在我需要它与IE7一起使用。