我有一个.getJSON方法。它在IE浏览器中运行良好,并且在其他浏览器(如firefox和Chrome)中无效。这是代码
<script src="Themes/Js/jquery_v_1.4.js"></script>
<script type="text/javascript">
var url;
$(document).ready(function () {
url = "http://192.168.0.171:8080/api/account";
$('#btnSubmit').click(function (e) {
debugger;
$.getJSON(url, function callback(data, status, jqXHR) {
debugger;
$('#<%= ddlList.ClientID %>').append('<p>Name : ' + jqXHR.responseText + '</p>');
});
});
});
</script>
在Firefox和Chrome中,控件不会进入函数回调。 请看一下并给我建议。
答案 0 :(得分:2)
如果您的代码正常使用IE但不适用于Chrome,您可以尝试使用任何可用的虚拟服务器,例如Python Server,
按照步骤
1.在相应的文件夹中运行命令(在Linux中)
python -m SimpleHTTPServer
2.打开Chrome浏览器并浏览localhost:8000 / filename
答案 1 :(得分:0)
我认为debugger;
语句可能只在IE中受支持。试着把它拿出来
答案 2 :(得分:0)
现在工作正常。
我在Web api Global.asax
中添加了以下代码protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
{
HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
HttpContext.Current.Response.End();
}
}
感谢所有人的支持..