Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jQuery和返回的HTML_Php_Javascript_Jquery_Json - Fatal编程技术网

Php jQuery和返回的HTML

Php jQuery和返回的HTML,php,javascript,jquery,json,Php,Javascript,Jquery,Json,这可能是一个不需要动脑筋的问题,但我被卡住了 我有一个创建表的函数: function getTable(someJSON, someGroup){ var table = $("<table>").attr("class", "someTable"); var row1 = $("<tr>"); var cell1 = $("<td>").text(someJSON.someThing); row1.append(cell1); var

这可能是一个不需要动脑筋的问题,但我被卡住了

我有一个创建表的函数:

function getTable(someJSON, someGroup){
  var table = $("<table>").attr("class", "someTable");
  var row1 = $("<tr>");
  var cell1 = $("<td>").text(someJSON.someThing);
  row1.append(cell1);
  var cell2 = $("<td>").text(someJSON.someThingElse);
  row1.append(cell2);
  var row2 = $("<tr>");
  row2.append("<td>Something</td><td>Something else</td>");
  table.append(row2);
  var row3 = $("<tr>").append(getRow(someJSON, someGroup));
  table.append(row3);
  return table;
}
我已经用FireBug检查过了,getRow.php在做了它的事情后返回了一个有效的结果,比如:123234,但是如果我能把它放到。。。我一直在反复研究它,在早期的迭代中,我在行中添加了类似于[object]的内容

任何帮助都将不胜感激

干杯


Dom

getRow
不返回任何内容-这就是最后一行为空的原因:)


但即使在您修复它之后-您将它附加到TR中,但内部没有TD,因此它不会出现在屏幕上的正确位置

Don Joy是对的,但我没有读到他的答案,我已将getRow更改为:

function getRow(someJSON, someGroup){
  var returnedText;
  $.ajax({
    url: 'getRow.php',
    data: ({
      DM: JSON.stringify(someJSON),
      someGroup: someGroup
    }),
    dataType: "html",
    async: false,
    success: function (data) {
      returnedText = data;
    }
  });
  return returnedText;
}
现在工作很愉快。谢谢你的指点,唐·乔伊

干杯


Dom

正如Don Joy所说,您的JavaScript函数
getRow
没有返回任何内容。它没有
return
语句。您需要将其更改为:

function getRow(someJSON, someGroup){
  var a = $.ajax({
    url: 'getRow.php',
    data: ({
      DM: JSON.stringify(someJSON),
      someGroup: someGroup
    }),
    async: false
  });
  return a.responseText;
}

但是,您不应该像这样使用同步AJAX调用。它会大大降低页面速度,甚至会使浏览器无响应。

我怀疑您提供的“async:false”选项是否会返回请求的结果。我应该添加一个成功回调并在请求完成时填充该行。对不起,我的格式设置foo不符合要求。php返回:123234作为一条经验法则-yes。但是,如果您在快速连接、高可用CDN和快速服务器应答上进行中继,您可能会考虑使用它。
function getRow(someJSON, someGroup){
  var a = $.ajax({
    url: 'getRow.php',
    data: ({
      DM: JSON.stringify(someJSON),
      someGroup: someGroup
    }),
    async: false
  });
  return a.responseText;
}