Как разделить множественный успех ajax на два элемента div

У меня есть сценарий Ajax, как показано ниже:

$.ajax({
type:"post",
url:"process1.php",
data:params,
cache :false,
async :false,
success : function(res,data) {
$("#qtycheck").html(res);
$("#rangecheck").html(data);
return this;
}
});

<div id="qtycheck"></div>
<div id="rangecheck"></div>

Я хочу отделить res,data на две части Но я получаю неправильный результат. например у нас есть:

res : 50     // inside table 1
data : 1 - 100  // inside table 2

правильный результат:

<div id="qtycheck">
<table> ...50...</table>
</div>
<div id="rangecheck">
<table> ...1 - 100..</table>
</div>

фактический:

<div id="qtycheck">
<table> ...50...</table>
<table> ...1 - 100..</table>
</div>
<div id="rangecheck"> success </div>

ОБНОВИТЬ

чтобы выяснить, откуда берется таблица, вот этот запрос:

$sql= "SELECT .......";
$res=mysql_query($sql) or die(_ERROR26.": ".mysql_error());
$fields_num = mysql_num_fields($res);

echo "<table id ='appear2' border='1' style='border-collapse:collapse;font: 16px/20px Calibri,
Arial, Helvetica, sans-serif; background-color:white; ' width='auto'>";
echo "<tr id='tblhead' style='text-align:center;'>";
for($i=0; $i<$fields_num; $i++)
{
$field = mysql_fetch_field($res);
echo "<td>{$field->name}</td>";
}
echo "</tr>\n";
while($row = mysql_fetch_row($res))
{
echo "<tr>";
foreach($row as $cell)
echo "<td>$cell</td>";
echo "</tr>\n";
}

$sql= "SELECT .......";
$data=mysql_query($sql) or die(_ERROR26.": ".mysql_error());
$fields_num = mysql_num_fields($data);

echo "<table id ='appear2' border='1' style='border-collapse:collapse;font: 16px/20px Calibri,
Arial, Helvetica, sans-serif; background-color:white; ' width='auto'>";
echo "<tr id='tblhead' style='text-align:center;'>";
for($i=0; $i<$fields_num; $i++)
{
$field = mysql_fetch_field($data);
echo "<td>{$field->name}</td>";
}
echo "</tr>\n";
while($row = mysql_fetch_row($data))
{
echo "<tr>";
foreach($row as $cell)
echo "<td>$cell</td>";
echo "</tr>\n";
}

После этого ajax получит параметр res и данные. может показывать всю таблицу, но в результате обе таблицы показываются внутри одного деления.

0

Решение

Функция успеха ajax приняла три параметра:

Function( PlainObject data, String textStatus, jqXHR jqXHR )

Данные, возвращаемые с сервера, отформатированы в соответствии с параметром dataType; строка, описывающая статус; и объект jqXHR (в jQuery 1.4.x, XMLHttpRequest)

результат вашего ajax-запроса будет выглядеть следующим образом:<table>...50...</table><table>...1-100...</table> как вы видите.

Поэтому я предлагаю вам отправить два ajax-запроса для получения данных.
Если вы должны сделать это, вы можете сделать это так:

$("#qtycheck").html(res.substring(0, res.indexOf("<table>",1)));
$("#rangecheck").html(res.substring(res.indexOf("<table>",1)));

Но это не очень хороший способ. Два запроса ajax лучше

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]