【发布时间】:2012-06-16 01:31:09
【问题描述】:
假设我们在这些行中有一些东西:
$.ajax({
success: function(html){
$("#related_events").append(html);
$("#related_events").fadeOut(150).fadeIn(150); //optional
type: 'get',
url: '<?php echo $this->createUrl('related'); ?>',
这一行的具体问题是:
url: '<?php echo $this->createUrl('related'); ?>',
考虑到这个 ajax 调用,是否会执行 echo ? 或者 该回显将始终执行,因为那时服务器端已被触发?
如果我在 ajax 调用之前有这个条件,会在考虑 if 的情况下执行那个 echo 吗?
我相信查看浏览器的输出是没有用的,因为我们得到了那个回显,但我们不知道我们是否得到那个回显,因为它总是会运行,或者它会有条件地运行。
if('<?= $something ?>' == 'create'){
$("#Event_name").focusout(function(){
$.ajax({
success: function(html){
$("#related_events").append(html);
$("#related_events").fadeOut(150).fadeIn(150); //optional
},
type: 'get',
url: '<?php echo $this->createUrl('related'); ?>',
data:
{
ind: $('#Event_name').val()
},
beforeSend: function(){
$("#related_events").empty();
},
cache: false,
dataType: 'html'
});
})
}
我确定这与我对这里的服务器/客户端进程的错误理解有关。
更新:
我知道 php 代码将被执行。我没有得到的是:
1)他会知道javascript条件吗?
2)如果我们在进行 ajax 调用,它会得到不同的评估吗?
(在这里挣扎……)
【问题讨论】:
-
确保在浏览器中查看 HTML 源代码。
-
所以这意味着你有条件地尝试执行 JS 代码?是通过你上面的情况吗? if('= $something ?>' == 'create'){}
-
@verisimilitude:是的。但更重要的是,我试图了解这是否有意义,或者是否没有。如果在简单的 javascript 中回显 php 或在 ajax 调用中调用 php 之间存在差异。 (显然,简单的 javascript 意味着我迷失了正确的术语)。
标签: php ajax client-side server-side