我的页面有问题,第一个代码(让我们说的是hompe.php)
<html>
<div id="trackingkp"></div>
</html>
然后在我的ajax上我就像这些
这样的代码$( document ).ready(function() {
var dataString = '';
$.ajax
({
type: "POST",
url: host+"ajax/tracking/kp",
dataType: 'html',
success: function(html)
{
$('#trackingkp').html($(html).find('#trackingkp').html());
//$("#trackingkp").html($(data).find('#trackingkp').html());
}
});
});
在我的ajax控制器上,我喜欢这些(我使用框架laravel)
public function tracking($url)
{
//var_dump("AAA");
$this->view('ajax/tracking/'.$url,[]);
}
在我的ajax /跟踪视图中
<?php
//$json = array();
$json = "<input type='text'></input>";
echo json_encode($json);
?>
当我尝试显示
时 Syntax error, unrecognized expression: "<input type='text'>
我已经解决了这个问题,我在不使用jQuery的情况下使用了另一个选项,所以同时,在加载视图home.php的控制器上,我尝试将加载视图也像这些
public function index(){
is_header();
$this->view('home',[]);
$this->view('ajax/tracking/kp',[]); ---> I add these
is_footer();
}
和ajax / tracking / kp(查看)我把这些代码
<input type='text'></input>
并且正在运作。
答案 0 :(得分:0)
问题出在这一个:
success: function(html) {
// Problem : $(html).find('#trackingkp').html();
$('#trackingkp').html($(html).find('#trackingkp').html());
}
预期此html
响应将返回json
值
在你给定的[控制器]
<?php
//$json = array();
$json = "<input type='text'></input>";
echo json_encode($json);
?>
因此,这相当于:
$("<input type='text'></input>").find('#trackingkp').html();
在这种情况下,我认为您可能不需要调用另一个* .html()。您可以通过调用一次来简化/解决此问题:
$.ajax({
type: "POST",
url: host+"ajax/tracking/kp",
dataType: 'json', // Kindly replace [html] to [json] since you are returning a [json] value
success: function(html) {
$('#trackingkp').html(html);
}
});
希望这有助于您的案例