jquery ajax

情况:1
	<script type="text/javascript" src="scripts/jquery-1.4.4.js"></script>
	<script type="text/javascript">
	
	$(function()
	{
		$("#button1").click(function()
		{
			$.ajax({
				
				type: "POST",
				url: "MyServlet",
				dateType: "html",//json是另一种'json'
				data: {'param1': $("#param1").val(), 'param2': $("#param2").val()},
				success: function(returnedData){//returnedData是html,json,xml主要
					$("#result").val(returnedData);
				}
				
			});
		});
	});
		</script>
	  </head>
    <body>
        <input type="text" id="param1">+
    <input type="text" id="param2">=
    
    <input type="text" id="result"> <input type="button" value="get content from server" id="button1">
情况:2
环境: jquery1.4 + struts2.0.14

页面: 
  
  
  
  
HTML code
     
     
     
     
< script src ="jquery/jquery.js" type ="text/javascript" ></ script > < script src ="jquery/jquery.json-2.2.js" type ="text/javascript" ></ script > < script type ="text/javascript" language ="javascript" > function doAjax() { $.ajax({ type: " post " , url: " ajaxAction.action " , cache: false , dataType: ' json ' , success: function (data) { alert($.evalJSON(data).info);}, error: function (){alert( ' error ' );} }); } </ script >


后台:
Java code
       
       
       
       
public class AjaxAction extends ActionSupport { @Override public String execute() throws Exception { HttpServletResponse resp = ServletActionContext.getResponse(); // resp.setContentType("application/json;charset=utf-8"); resp.getWriter().write( " {total:100,info:\"ttttttttt\"} " ); return NONE; } }


问题: 如果在ajax配置项中去掉dataType属性就可以请求成功, 如果设置了dataType=json的情况下就始终执行
  error 对应的函数;

我在网上搜索了两个小时,共有如下两种解决方案:
1. 集成struts2的 json-plugin 插件 (google出品), 经过测试:【成功】
2. 改变ajax配置项的contentType为 "application/json" , 后台的response也设置 contentType = "application/json",
  经过测试:【失败】

  我现在想在不使用json-plugin的情况下,让上面代码中的配置项可以成功跳转到 success 函数。 如果可以顺便讲解一下jquery中ajax的这个dataType的意义,就更好了。。我看jquery源码中的 ajax 函数,没怎么看
  明白。。

  请各位大虾支点招。谢谢。
   
    
 
   

你可能感兴趣的:(jquery ajax)