如何将json_encode与php标记之外的html和php混合使用
How to use json_encode with mix of html and php outside PHP tags
我想用一个ajax调用更新两个div,其中json编码在php标记之外。我熟悉用一个AJAX响应更新两个div,但是否可以做类似的事情,但在<php?>
我没有回复ajax响应,而是关闭了php并使用了常规html,例如这里的代码服务器端:
<?php
//here some code that cheks some stuff
var $somvariable="Ipsum";
?>
<p>Lorem Lorem <?php echo $somvariable ; ?></p>
然后在ajax函数中,我更新div,比如:
success:function(data, textStatus, jqXHR)
{
//data: return data from server
$('#divid').html(data);
}
现在想象一下,我必须使用json_encode创建两个变量来更新两个div,这样我就可以做到:
success:function(data, textStatus, jqXHR)
{
$('#dividone').html(data.one);
$('#dividtwo').html(data.two);
}
我的代码在外面<php?>太大,将其转换为普通字符串太耗时。我怎样才能做到这一点?我的猜测是使用原始json,但如何使用呢?显然与完全不同
<?php
echo json_encode(array(
'one' => '?><p>Lorem Lorem <?php echo $somvariable ; ?></p><?php',
'two' => '?><p>Lorem <?php echo $somvariable2 ; ?></p><?php'
));
?>
不会奏效,但我希望它能展示我努力实现的目标。
可能需要在php中设置标题
header('Content-Type: application/json');
所以你的php代码应该是这样的
<?php
header('Content-Type: application/json');
echo json_encode(array(
'one' => '<p>Lorem Lorem '.$somvariable.'</p>',
'two' => '<p>Lorem '.$somvariable2.'</p>'
));
?>
在ajax中使用
success:function(data)
{
$('#dividone').html(data.one);
$('#dividtwo').html(data.two);
}
经过一些研究,我终于弄清楚了这一点。ob_get_clean()和ob_start()正是我所需要的。
<?php ob_start(); ?>
<div>First huge mix of php and html goes <?php echo "here"; ?></div>
<?php $one= ob_get_clean();
ob_start(); ?>
<div>Second huge mix of php and html goes <?php echo "here"; ?></div>
<?php $two= ob_get_clean();
echo json_encode(array(
'one' => $one,
'two' => $two
)); ?>
在ajax中,我使用了
success:function(data)
{
$('#dividone').html(data.one);
$('#dividtwo').html(data.two);
}
相关文章:
- 通过点击-PHP/HTML发布列表中的选定值
- 在网格中显示来自 PHP [HTML 的数据库的数据]
- 我希望我的php/html网站上的JavaScript能够实时更新
- 我在firebug控制台中得到了index.php.html
- 如何从php/html检查网站是否已打开
- jQuery Slider PHP/HTML Problems
- PHP/HTML:下载PDF链接处理页面加载
- 如何在 php/html 表单中编写链接
- 从生成的 PHP-HTML 表中获取数据库值
- PHP/HTML:如果 url domain.co.uk/?debug 那么
- 免费的应用程序来混淆和缩小JavaScript / PHP / HTML for Mac
- PHP/html:即时搜索功能:无法搜索外语(例如中文)字符
- Php/HTML/css:链接不可点击
- 在 PHP HTML 中向后单击时显示除图像外的所有值
- POST with ajax, php, html
- jquery json PHP HTML 不显示结果
- PHP HTML 表单选择选项来填充文本字段 jQuery
- PHP & HTML Form with javascript onsubmit not executed
- PHP/HTML:将HTML变量保存在PHP会话变量中
- 如何将渲染的PHP+HTML代码转换为文本文件