javascript 在Chrome和Firefox中 $.ajax 在$("a").click()方法下不执行,但是在IE8 中效果正常经过测试,在标签中,有一个href 中有一个连接,跳转到其他页面,但在此之前需要向后台发送一个ajax请求,已经确认ajax格式没有错误,而且在IE8中运行正常,但是在Chrome和Firefox中 ajax无法向后台传送数据??有没有 处理过这方面内容的高手?指点一二,有悬赏
$(function () {
$("a").click(function () {
$.ajax({
url: "/Admin/......",
type: "post",
data: { location: vLocation, destination:
vlink },
datatype: "json",
success: function(data) { ....}
});
//但是alert不弹出...
alert("提示执行到此处了!");
//以上代码在IE8 能走得通,顺利跳转到设定的URL但是,Firefox和Chrome不行....
您好!很高兴为您答疑!
火狐下建议安装Firebug检查页面代码,错误部分会有提示,不同的浏览器,需要设置兼容属性,具体的方法您可以参考:
http://www.w3school.com.cn
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
有一个名词叫做 浏览器的默认行为,
例如: 超链接的默认行为是 点击它,会执行页面跳转; <input type="submit" />的默认行为是点击它, 会提交表单,
你所遇到的问题就是超链接的click事件与默认行为同时发生的情况. 在发送ajax请求时, 页面执行跳转了.
按照你的要求, 应该先调用 ajax, 成功后执行跳转, 那行,代码可以类似如下编写
$("a").click(function(){至于在IE8中可以正常运行, 是因为ie8不完全遵循 W3C标准, 把它认为是个SB就行了
追问$.ajax 通不过啊,后台 URL 那边设置断点了,根本没过来,data都获取不到怎么执行if()呀??
追答你需要定位到出错的位置,
是JavaScript脚本出错了,还是Ajax出错了?
JavaScript代码有没有执行到$.ajax的地方?
如果到了$.ajax, 这样的话, 检查ajax的 url, 参数
我在 ajax前加了alter, 可以弹,在后面就不行,复制URL访问没有问题,......还有就是同样的代码,在IE8 通过了...
追答可以确定,在执行 $.ajax的时候, 产生的语法错误
把ajax的参数改成如下试一下
$.ajax({其实 什么时候跳转无所谓,我只是希望 ajax能够 执行,$.ajax(function(){.....}); 在javascript中用的jQuery写的...有过jQuery经验的应该经历过...连题目都看不懂的就路过吧....先谢谢了...