Я делаю следующее:
<script type="text/javascript">
$(function(){
$("#ipad").submit(function() {
$.post("ipadcheck.php", $("#ipad").serialize(),
function(data)
{
if(data.error == 'TRUE')
{
$("#results_ajax").html("<div class='AppleRed'>Sorry There were Errors: " + data.error_message + "</div>");
}
else
{
$("#results_ajax").html("<div>"+ data.disp + "</div");
}
}, "json");
return false;
});
});
Когда пользователь вводит данные в форму и отправляет форму, она отправляется. Я знаю, что data.error == 'TRUE'
получает удар, потому что когда я специально вызываю ошибку, я получаю сообщение об ошибке.
Я знаю, что создаю результаты для data.disp
, поскольку они:
<div class='paragraph_style'><br />
<strong> San Jose College Park</strong>
<br/>2.33 miles<br />Out Of Stock
<strong> San Jose Westgate</strong>
<br/>3.35 miles<br />Out Of Stock
</div>
Использование Firebug Я вижу, как это возвращается, выглядит хорошо
Но он не отображается.
Я вырывал волосы в течение 3 часов!
ОБНОВЛЕНИЕ: Определенно проблема с моей строкой, проблема с кодировкой. Я заменил мою строку с работой «Привет», и это работает. Почему я не подумал о таком простом тесте раньше ...
ОБНОВЛЕНИЕ 2: Я использую это:
$m=array();
preg_match_all('/<p>[\s\S]*?<strong>([\s\S]*?)<\/p>/i',$buffer,$m);
foreach($m[1] as $mnum=>$match)
{
$displayString .="<br /><strong>";
$displayString .= $match;
$displayString .="<br />";
}
Именно эта строка $displayString .= $match;
Может быть, я не знаю, как вывести значение $m[1]
? Здесь происходит $buffer
- вывод curl, и я нахожу все экземпляры
, и они входят в $ m. Любой совет?
РЕДАКТИРОВАТЬ: Я пытался обернуть JQuery .html()
в try/catch
, и ничего не происходит, я никогда не ударил его или получить предупреждение.
try
{
$("#results_ajax").html("<div>"+ data.disp + "</div>");
alert($("#results_ajax").html());
}
catch(err)
{
txt="There was an error on this page.\n\n";
txt+="Error description: " + err.description + "\n\n";
txt+="Click OK to continue.\n\n";
alert(txt);
}