日期:2014-05-16  浏览次数:20615 次

ajax提交表单后responseText中的数据undefined
使用ajax提交表单后,处理函数有返回值,现在需要根据返回值做相应的处理。但是前台无法获得responseText中的值。前台代码如下:
$(document).ready(function() { 
     var options = { 
        //target:        '#output2',   // target element(s) to be updated with server response 
        beforeSubmit:  beforeAdd,  // pre-submit callback 
        success:       afterAdd  // post-submit callback         
     }; 
     $('#addForm').ajaxForm(options); 
    $('#addForm').submit(function() { 
         $(this).ajaxSubmit(); 
         return false; 
     });   
}); 
var queryString;
// pre-submit callback 
function beforeAdd(formData, jqForm, options) {
     queryString = "add.do?tabName=LogShebeixunjie&"+$.param(formData); 
     return true; 

  // post-submit callback 
function afterAdd(responseText, statusText, xhr, $form)  {
var oSettings = tbl.fnSettings();
  oSettings.sAjaxSource = queryString;
  tbl.fnClearTable(0);
  tbl.fnDraw(); 
 
  alert(responseText.aaData);
  if (responseText.aaData == "false"){
  alert("数据已经添加,不能重复添加");
  $("#addBox").css("display", "");
  }
  else{
queryString = "find.do?tabName=LogShebeixunjie&method=byIndex";

oSettings = tbl.fnSettings();
  oSettings.sAjaxSource = queryString;
 
      tbl.fnClearTable(0);
  tbl.fnDraw();
  }
 } 
用IE的开发者工具看response body如下:{"Menu":"1","aaData":"false"}
但弹出的警告框里是undefined。求解~~
------解决方案--------------------
楼主要好好看下API,没配置url那么form的action属性就是url,你配置的form的action应该不是add.do这个页面吧。。为空就会默认访问到添加页面了。。

jquery ajaxForm API使用文档