我想用javascript获取元素的属性。所以我使用以下代码:
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);
}
});
请问好吗?
答案 0 :(得分:1)
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”页面,你可以通过
对该网址发出cURL请求<?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 :(得分:0)
您无法使用php访问javacsript变量。 PHP正在运行服务器端,javascript在客户端。你需要尝试这样的事情。
var url = '<?php echo $base_url; ?>/'+url;
答案 2 :(得分:0)
我想这就是你想要实现的目标
jQuery.ajax({
url: url,
async: false,
success: function(data) {
jQuery(id).html(data);
}
});
如果这是你的php脚本的路径,只需传递url变量。