首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php代码中js变量的替换

问php代码中js变量的替换
EN

Stack Overflow用户
提问于 2016-12-01 20:55:12
回答 3查看 49关注 0票数 0

我想用javascript获取一个元素的属性。所以我使用了下面的代码:

代码语言:javascript
复制
 var url = jQuery(this).find('a').attr('url');

我得到了正确的值。之后,我想使用这个url通过ajax调用一个文件。问题是我需要使用php来调用url,但是我不能在php代码中使用js变量。我想做一些类似以下的事情,但当然,它不起作用。这是我想要的想法:

代码语言:javascript
复制
jQuery.ajax({
    url: "<?php echo Mage::getUrl(?>"+url+"<?php);?>",
    async: false,
    success: function(data) {
        jQuery(id).html(data);
    }
}); 

有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 2016-12-01 20:57:24

PHP是服务器端,javascript是客户端。你不能用javascript改变你的PHP代码。我建议将javascript变量作为POST数据传递给AJAX调用,并从那里重定向它。

例如:

代码语言:javascript
复制
jQuery.ajax({
    url: "static_url",
    async: false,
    data: {url: url},
    success: function(data) {
        jQuery(id).html(data);
    }
}); 

在"static_url“页面上,您可以通过执行以下操作向该url发出cURL请求

代码语言:javascript
复制
<?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
EN

Stack Overflow用户

发布于 2016-12-01 21:01:48

你不能用php访问javacsript变量。PHP运行在服务器端,javascript运行在客户端。你需要尝试一下这样的东西。

代码语言:javascript
复制
var url = '<?php echo $base_url; ?>/'+url;
票数 0
EN

Stack Overflow用户

发布于 2016-12-01 21:07:19

我猜这就是您想要实现的目标

​

代码语言:javascript
复制
jQuery.ajax({
    url: url,
    async: false,
    success: function(data) {
        jQuery(id).html(data);
    }
});

​

如果这是php脚本的路径,只需传递url变量即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40911220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档