1

我正在从作为表格的 webmethod 中重新提取一个字符串。$.ajax 上的成功方法被命中,但不将返回的结果插入到指定元素中。

 success: function(result){
          $('#divSubjectQuestions').html(result);
  },

当我插入一些 html 字符串时,它会被渲染,但这段代码不起作用。

编辑:

   int SubjectId = Convert.ToInt32(sSubjectId);
    DataTable QuestionsTable = QuestionDataAccess.RetrieveSubjectQuestion(SubjectId);

    string head = "<table class='gridstyle' cellspacing='0' rules='all' border='1'  style='border-collapse:collapse;width: 100%;'><tr class='headerclass'><th scope='col'>Subject l Questions</th></tr>";
    string body = "";
    foreach (DataRow row in QuestionsTable.Rows)
    {
        body += " <tr><td> <a  href='QuestionDisplay.aspx?Id=" + row.ItemArray.GetValue(1) + "'style='font-size:Small;text-decoration:none;'>" + row.ItemArray.GetValue(0) + "</a><br /><span  style='font-size:XX-Small;'>" + row.ItemArray.GetValue(2) + "</span>&nbsp;<span  style='color:Gray;font-size:XX-Small;'>Boosts" + row.ItemArray.GetValue(5) + "</span>&nbsp;<span  style='font-size:XX-Small;'>" + row.ItemArray.GetValue(4) + "</span>&nbsp;<span  style='font-size:XX-Small;'>" + row.ItemArray.GetValue(3) + "</span>&nbsp;<span  style='font-size:XX-Small;'>" + row.ItemArray.GetValue(6) + "</span></td></tr>";
    }
   // return head + body + "</table>";
    return "<p>boom!</b>";
4

3 回答 3

1

实际上我正在返回 json 数据,因此使用 console.log(result) 检查结果。我找到了将结果附加到“d”变量的 json 对象。然后访问 result.d 解决了这个问题。

于 2012-10-02T04:48:57.543 回答
0

这是一个疯狂的猜测,没有看到任何标记或您的数据是什么样的,但请尝试:

 success: function(result){
          $('#divSubjectQuestions').html(result[0]);
  },
于 2012-10-02T03:51:01.683 回答
0

可能是您在同一页面上有其他 Ajax 调用。在这种情况下,建议在函数内使用不同的变量......例如成功:函数(ajax1)......

编辑
1. 检查您正在调用的函数的语法。如果它工作与否。2.一旦1.完成,发出警报(“HH”);在成功函数中,并检查在执行 ajax 调用时是否看到警告框。如果看不到警告框,则表示 jquery 代码有错误。如果您看到警告框,则说明与 jquery 代码冲突或语法错误。

于 2012-10-02T03:51:24.040 回答