ajax跨域删除数据问题

mcbeath 发布于 2012/08/06 14:20
阅读 365
收藏 0
$.ajax( {
				type : "POST",
				url : mmxhPaths + '/deleteDemand.action?callback=?',
				data : "demand.demandId=" + val,
				dataType : "json",
				success:function(json, textStatus) {
					bind(0, function(totalPage) {
			            initPagination(totalPage);
		            });
					alert('删除成功!');
		       	},
		       	error:function(XMLHttpRequest, textStatus, errorThrown) {
		       		alert("删除异常");
		       	}
		  });

后台struts2的配置文件

<action name="deleteDemand" class="demandAction" method="delete" >
            <result name="success" type="json">
            	<param name="root">result</param>
            	<param name="callbackParameter">callback</param> 
 			 </result>
         </action>

后台的响应json数据

[DEBUG]-[         struts2.json.JSONUtil{68}]-[2012-08-06 14:19:24,363]-[JSON]{"msg":"删除成功!","success":true}

 

能够发送请求到后台并且已将数据删除,看后台的响应也是正常的。但是前台还是进入error里面打印删除异常。这是为何?请高手解决。

加载中
0
mcbeath
mcbeath

我将success的回调函数function只写一个参数就OK了。

 

  $.ajax( {
				type : "get",
				url : mmxhPaths + '/deleteDemand.action?callback=?',
				data : "demand.demandId=" + val,
				dataType : "json",
				success:function(result) {
					alert(result.msg);
		       	},
		       	error:function(XMLHttpRequest, textStatus, errorThrown) {
		       		alert("删除异常");
		       	}
		  });

f
flamehazi
我之前也遇到了相同的问题,就是success的返回值问题,很多大牛都说这个回调函数只接受一个参数,所以需要在后台封装成一个json对象传过来,然后通过js解析这个json对象就可以了
0
Andre.Z
Andre.Z

你发请求去后台当然是没问题的,除非你后台限制了来源。
由于跨域问题,回应信息处理出现权限问题,当然会去error。

返回顶部
顶部