在php代码中替换js变量
问题描述:
我想用javascript获取元素的属性。所以我使用下面的代码:在php代码中替换js变量
var url = jQuery(this).find('a').attr('url');
我得到正确的值。之后,我想用这个url
来调用带有ajax的文件。问题是我需要使用PHP来调用url,但我不能在php代码中使用js变量。我想做类似以下的事情,但当然,这是行不通的。这里是我想要的想法:
jQuery.ajax({
url: "<?php echo Mage::getUrl(?>"+url+"<?php);?>",
async: false,
success: function(data) {
jQuery(id).html(data);
}
});
有什么想法吗?
答
PHP是服务器端,JavaScript是客户端。你不能用javascript来改变你的PHP代码。我建议将javascript变量作为POST数据传递给您的AJAX调用并从那里重定向。
例如:
jQuery.ajax({
url: "static_url",
async: false,
data: {url: url},
success: function(data) {
jQuery(id).html(data);
}
});
在 “static_url” 页面,你可以做一个卷曲的请求到该URL做
<?php
$url = Mage::getUrl($_POST['url']);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
?>
+1
我会考虑你的解决方案,谢谢! – Erlaunis
首先,您不能使用javascript更改php变量,请记住,当php是服务器端时,javacript是客户端。 – Muya
@ muyamwangi我知道,这就是为什么我正在寻找替代品或解决方案来解决我的问题 – Erlaunis
您想要调用的PHP脚本在哪里?如果他们在相同的路径只是通过url变量 – Muya