2016-12-01 7 views
0

javascriptで要素の属性を取得したいと思います。だから私は次のコードを使用しています:PHPコードのjs変数の代入

var url = jQuery(this).find('a').attr('url'); 

私は正しい値を取得します。その後、私はこのurlを使ってajaxでファイルを呼び出したいと思います。問題は、私はURLを呼び出すためにPHPを使用する必要がありますが、PHPコード内でjs変数を使用することはできません。私は次のようなことをしたいと思いますが、もちろん動作しません。ここに私が欲しいものの考えがあります:

jQuery.ajax({ 
    url: "<?php echo Mage::getUrl(?>"+url+"<?php);?>", 
    async: false, 
    success: function(data) { 
     jQuery(id).html(data); 
    } 
}); 

どうぞよろしくお願いします。

+0

まず、javascriptを使用してphp変数を変更することはできません。javacriptはクライアントサイドであり、phpはサーバサイドです。 – Muya

+0

@muyamwangi私は、私の代わりに、または私の問題の解決策を探している理由は知っている – Erlaunis

+0

どこに呼び出すphpスクリプトですか?それらが同じパスにある場合は、URL変数 – Muya

答えて

1

PHPはサーバー側で、javascriptはクライアント側です。 JavaScriptコードでPHPコードを変更することはできません。私はあなたのAJAX呼び出しにPOSTデータとしてjavascript変数を渡し、そこからリダイレクトすることをお勧めします。例えば

:あなたはあなたがPHPでjavacsript変数にアクセスすることはできません

<?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

0

を行うことで、そのURLにcURLの要求を行うことができます "static_url" ページで

jQuery.ajax({ 
    url: "static_url", 
    async: false, 
    data: {url: url}, 
    success: function(data) { 
     jQuery(id).html(data); 
    } 
}); 

。 PHPはサーバー側で実行されており、JavaScriptはクライアント側にあります。このようなものを試す必要があります。

var url = '<?php echo $base_url; ?>/'+url; 
+0

urlがPHP関数の中にあるので、私はできません:/ – Erlaunis

+0

atleast 'baseurl'を返すPHP関数はありませんか?あなたは何を使っていますか?任意のPHPフレームワーク? – Tiger

0

私は、これはあなたがこれはあなたのPHPスクリプトへのパスであれば、単にurl変数を渡す

jQuery.ajax({ 
 
    url: url, 
 
    async: false, 
 
    success: function(data) { 
 
     jQuery(id).html(data); 
 
    } 
 
});

を達成したいものですね。

+0

いいえ、私はphp関数が必要なので、URLだけでなく – Erlaunis

+0

PHPスクリプトがどこにあるか教えてくれれば回答を編集できます – Muya