如何使用jquery将多个ajax请求中的数据附加到html表

时间:2014-06-11 09:29:31

标签: jquery

这是我的代码。请看一次

var script = "";
$.ajax({
    type: 'POST',
    url: url,
    contentType: 'application/json; charset=utf-8',
    dataType: 'JSON',
    success: function (data) {
        for(var i = 0; i < data.d.length; i++) {
            $.ajax({
                type: 'POST',
                url: url,
                contentType: 'application/json; charset=utf-8',
                dataType: 'JSON',
                success: function (data1) {
                    script += data.d[i].date +"--"+data.d[i].name; // here date and name is my database columns
                },
                failure: function (response) {
                    alert("Fail");
                },
                error: function (response) {
                    alert("Error");
                }
            });
        }
        $("#Mytable").append(script);
    },
    failure: function (response) {
        alert("Fail");
    },
    error: function (response) {
        alert("Error");
    }
});

当我运行此代码时,我收到的错误就是“无法获取属性&#39; date&#39;未定义或空引用&#39;。谁能帮帮我吗。实际上我是jquery的新手。

这是我的预期输出

Date

01-01-2014 -- K N R
02-01-2014 -- ABC
03-01-2014 -- XYZ

2 个答案:

答案 0 :(得分:0)

我从未尝试过类似的东西,但javascript正在异步工作。我认为当你在循环中发送请求时,循环不会等待任何响应,它将继续。当您的请求开始返回任何响应时,“i”可以达到data.d.length。所以data.d [i]是空引用。

我应该再说一遍,我从未尝试过。只是我的意见。

答案 1 :(得分:0)

success: function (data1) {
$("#your_tr").html(data.d[i].date +'--'+data.d[i].name)
//script += data.d[i].date +"--"+data.d[i].name;
},