-2

这是我的代码:

 var myVariable = "<div>";

 for (i = 1; i < 5; ++i) {
 myVariable += '<div class="user' + i + '">'; 

 $.ajax({
      type: "POST",
      data: "uziv=" + i,
      url: "../php/ajax_objednavky.php",
      success: function(data){
      //alert(data);  work well
      //$('#content').html(data); work well
      myVariable += data; //doesn't work
      }              
    });

 myVariable += '</div>';

 } 

 myVariable += "</div>";
 $('#myDiv').html(myVariable);

PHP文件看起来像

<? echo "data from mysql"; ?>

我可以使用警报查看数据,但是如何将数据添加到变量中?

4

3 回答 3

0

我对你的帖子感到惊讶:

data: "ter="+ objednavky + "&uziv=" + uzivatel,

我一直使用数据:{ ter: objednavky, uziv: uzivatel }

更容易阅读,恕我直言。

那么,“不起作用”是什么意思?

尝试这个 :

 myVariable += data;
 alert("foo");

你看到 foo 警报了吗?(我希望你搞砸了“”并且它没有打印在 div 上,但它“有效”)。示例:“”

于 2013-10-17T09:07:32.890 回答
0

已编辑。

这可能是因为ajax请求需要一些时间才能完成。当第一个结果返回时,JS 已经完成。

这段代码可能会得到改进,但我希望你明白我的意思。

var myVariable = "<div>";

 for (i = 1; i < 5; ++i) {
 myVariable += '<div class="user' + i + '">'; 

 $.ajax({
      type: "POST",
      data: "uziv=" + i,
      url: "../php/ajax_objednavky.php",
      success: function(data){
        myVariable += data; //doesn't work
        myVariable += '</div>';

        if(i == 4){
          myVariable += "</div>";
          $('#myDiv').html(myVariable);
        }
      }              
    });
 } 

i您可以在 ajax-request 中将所有这些作为 json发送,而不是发送 every ,并在一个请求中返回所有结果。这将需要对您的服务进行一些重建,但这可能是更好的方法。

于 2013-10-17T08:41:21.213 回答
-1

我想这就是您所需要的,因为不需要将数据与 myVaraible 连接起来。

更新:

原因,ajaxdata正在返回一个object. 所以串联不是一个好方法。所以我猜你可能有data.something。以这种方式检查。

如果它是一个对象,那么连接输出将是

<div>[object Object] 
于 2013-10-17T08:45:04.433 回答