关于ajax获取json数据返回到页面中!页面中显示不出来!

$.ajax({

type: "POST",
url:"CPSearch.action",
data:paramStr,
dataType: 'json',
success: function (dataRes, textStatus, jqXHR) {
var result = dataRes.ResultInfo;
var debugInfo = dataRes.DebugInfo;
if(result != "error"){
function createShowingTable(dataRes){
var dataArray = $.parseJSON(dataRes.jsonData);
var tableStr = "<table>";
tableStr = tableStr +
"<thead><td>Casno</td><td>ChineseChemicalName</td><td>ChineseSynonyms</td><td>EnglishChemicalName</td><td>EnglishSynonyms</td><td>MolecularFormula</td></thead>";
var len = dataArray.length;
for(var i=0 ;i<len ; i++){
tableStr = tableStr
+ "<tr><td>"+ dataArray[i].Casno +"</td>"+"<td>"+dataArray[i].ChineseChemicalName + "</td>"+"<td>"+dataArray[i].ChineseSynonyms +"</td></tr>"
+ "<tr><td>"+ dataArray[i].EnglishChemicalName +"</td>"+"<td>"+dataArray[i].EnglishSynonyms + "</td>"+"<td>"+dataArray[i].MolecularFormula +"</td></tr>"
;
}
tableStr = tableStr + "</table>";
}
$("#scroll-box").html(tableStr);
}else{
alert("error cause by " + debugInfo);
}
},
error: function (dataRes) {
//alert("error cause by ajax error:" + dataRes.responseText );
}
});
}
最新回答
灰尘往事

2024-05-06 07:22:12

先简单的说说你的代码的问题:

  1. 不知道你是不是代码没有贴完整,变量paramStr是没有定义的

  2. 你的圆括号、花括号的潜逃是不一致的,很显然最后一行应当是以});结尾,与开头({对应,你少圆括号

  3. JavaScript是对换行敏感的,所以只能以;换行结尾,你代码中多次出现

    tableStr = tableStr
    + "<tr><td>"+ dataArray[i].Casno +"</td>"+"<td>"+dataArray[i].ChineseChemicalName + "</td>"+"<td>"+dataArray[i].ChineseSynonyms +"</td></tr>"

这样的换行,不知道是不是复制的时候的问题。

5.最大的问题是,你在ajax的success:function(){}中定义了一个嵌套的函数createShowingTable(),但是这个函数从来没有被调用过。

下面给出了一些参考代码,语法上是没有问题的,其他地方没测试。

-------------------------------------------------------------------------------------------------

$.ajax({

        type: "POST",
        url:"CPSearch.action",
        data:paramStr,
        dataType: 'json',
        success: function (dataRes, textStatus, jqXHR) {
            var result = dataRes.ResultInfo;
            var debugInfo = dataRes.DebugInfo;
            if(result != "error"){         
                 createShowingTable(dataRes);
            }else{
                alert("error cause by " + debugInfo);
            }
        },
        error: function (dataRes) {
            //alert("error cause by ajax error:" + dataRes.responseText );
        }
});


function createShowingTable(dataRes){ 
     var dataArray = $.parseJSON(dataRes.jsonData); 
     var tableStr = "<table>"; 
     tableStr = tableStr + "<thead><td>Casno</td><td>ChineseChemicalName</td><td>ChineseSynonyms</td><td>EnglishChemicalName</td><td>EnglishSynonyms</td><td>MolecularFormula</td></thead>"; 
     var len = dataArray.length; 
     for(var i=0 ;i<len ; i++){ 
        tableStr = tableStr + "<tr><td>"+ dataArray[i].Casno +"</td>"+"<td>"+dataArray[i].ChineseChemicalName + "</td>"+"<td>"+dataArray[i].ChineseSynonyms +"</td></tr>"+ "<tr><td>"+ dataArray[i].EnglishChemicalName +"</td>"+"<td>"+dataArray[i].EnglishSynonyms + "</td>"+"<td>"+dataArray[i].MolecularFormula +"</td></tr>"; 
     } 
     tableStr = tableStr + "</table>"; 
    $("#scroll-box").html(tableStr);
}
追问
刚开全部都贴上了,超出了字符限制!所以把很多字段和传的参数给删了!我是刚接触ajax ,有很多不懂,我也插入个alert( )试了;那个函数确实没被调用过!
谢谢!以后有问题还请多多教导!
追答
满意请给分 谢谢
寂寞等不到天黑

2024-05-06 01:37:51

你先用火狐调试下,你从一般处理程序中返回值是什么