$.ajax()   &   $.getJSON()   这两个函数的使用
今天在学习ajax的时候,做验证码验证,ajax传递数据到后台进行处理,返回处理的结果
但是遇见一个问题,使用$.ajax()函数的时候,总是提示url地址404错误,但是后台控制器能接收到数据
而且用$.getJSON()的时候完全OK,不知道这是什么情况
js代码:
$("#code").blur(function(){
			var codedata = $("#code").val();
			$.getJSON('<%=path%>/matchCodes','code='+codedata,function(data){
				alert(data.codeStatus);
			});
		});
	$.ajax({
			type:"get",
			url:"<%=path%>/matchCodes",
			data:"code="+codedata,
			dataType:"json",
			success:function(data){
				alert(data.codeStatus);
			},
			error:function(data){
				alert("失败");
			}
		});
这里只能因为404的原因,只能执行error回调函数这是为什么,url地址完全相同啊
              
------解决方案--------------------$.ajax 是传统的 get、post 方法的 AJAX 实现
$.getJSON 是 jsonp (远程数据读取)类AJAX 实现
之所以称为 类AJAX 是因为尽管他被封装在 jq 的 ajax 类中,但实际是透过 script 节点实现的
在使用上 $.getJSON 和 $.ajax 的区别在于:
发送时,$.getJSON 会传递一个回调函数名(缺省时jq会给一个)
接收是,这个回调函数会被调用
$.getJSON 的服务器端必须将传入的回调函数名附加在json数据之前
正因为这样,这个返回的串就已经不是 json 了(格式错了)
因此有 dataType:"json" 属性的 $.ajax 会因json解析错误而进入 error 分支