在一个函数里使用$.ajax,结果不执行,应该是报错了,因为alert的测试是进去到了这个js函数,而进去了就完了。。。函数结束后的alert(结束了)并没有执行,
这是怎么回事啊?临时要用前端,查资料写的,也不知道哪儿出了问题,照着别人的复制的,数据是自己写的
这是调用的js函数
function changeDate(zoneId) {
alert("进来了");
var para="zoneId="+zoneId;
$.ajax({
url:"demo/demo?zoneId="+zoneId,
type:"get",
dataType:"json",
success:function(data)
{
alert("成功");
}
});
}
这是在函数里调用该函数,先alert(开始了),再调用函数,调用完再alert(结束了)
alert("开始了");
changeDate("1");
alert("结束了?");
【$.ajax】是jquery的语法,需要引用jquery的js文件。你看下页面头部是否引用了jquery-min.js之类的文件,如果没有的话,引用就可以执行了。
你动态也错误了或者没有返回json格式数据,导致没有执行success回掉,自己浏览器开发工具栏看发出的ajax请求返回什么内容
如果执行没报js脚本错误的话,那就是你的访问地址“demo/demo”是否真实存在,若不存在,也无法进入【success】函数,自然无法弹出“成功”了。
用的mvc吗?
如果是mvc你的url应该是控制器名和方法名,参数要放在data里
url应该这样:url:"demo/demo",
然后再加一个:data:{"zoneId", zoneId},
你的发送路径可能不对 看你页面位置定位到根目录
需要查看一下运行环境的问题
代码,看着,没错,你的URL可能有问题,或者没有引入JS, zoneId在jsp中声明了吗
检查下路径是否正,或者直接在浏览器访问你的ajax路径看看能不能被访问的到
url 参数 是否写正确?
我有一次也是这样,没有引用jquery的js文件。
应该是你的结果没有成功的返回。
jquery文件确保引入了
可能出现以下情况:
第一:未引入jq;第二:url参数问题(建议打印下zoneId);第三:在浏览器上的network上查看请求的url是否成功,后台需不需要接收数据?如需要请加上data:{你需要接收的参数名:参数值};
ajax需要引用jquery,这个是首先需要确定的,
如果不是这个,那么看一下报错的信息是什么,或许能找到相应的解决方法,
如果还不行,可以试一下改变一下写法,比如data:{“zoneId”:zoneID}, url 先拼接好再引用等
很多时候有些问题就是很莫名其妙,甚至很气人,多试几次就可以了
url:"demo/demo?zoneId="+zoneId 路径写错了 ,应该前面也有一个斜杠url:"/demo/demo?zoneId="+zoneId
用f12看看有没有提示$未定义,或者看看程序处理页面地址是不是正确