将javascript值传递给php方法

时间:2015-04-27 13:47:24

标签: javascript php codeigniter encoding

var PId   = 12;
var catId = 3;
var Param = 'productid='+PId+'&CatId='+catId;
var encriptedCode = '<?php echo $this->encrypt->encode( .... need to pass the Param .... );?>';

我试图将javascript值传递给php方法,无论我尝试它是什么都不行。任何人帮我检测我错在哪里。在ajax调用时使用此代码

3 个答案:

答案 0 :(得分:0)

应该如此简单:

encriptedCode = '<?php echo $this->encrypt->encode(?>Param<?php);?>';

答案 1 :(得分:0)

您需要发出Ajax请求并通过使用GET请求传递该信息。

这样的事情:

&#13;
&#13;
var PId   = 12;
var catId = 3;
var Param = 'productid='+PId+'&CatId='+catId;
$.get( Param ); // makes the call to the PHP script
&#13;
&#13;
&#13;

然后在PHP文件中,您可以检索传递的数据。

答案 2 :(得分:0)

我想你需要在你的JS文件中使用$ this-&gt; encrypt-&gt; encode方法的结果。因此,您需要使用XMLHttpRequest检索它。

var PId   = 12;
var catId = 3;
var Param = 'productid='+PId+'&CatId='+catId;
var req = new XMLHttpRequest();
var encriptedCode;

req.open('GET', 'path/to/your/file.php?' + Param, true);
req.onreadystatechange = function (aEvt) {
    if (req.readyState == 4) {
        if(req.status == 200) {
            encriptedCode = req.responseText;
            // Do some something with your encrypted code
        } else {
            // Handle error here
        }

    }
};
req.send(null);

并且PHP文件应该在这里

<?php
   // Load here libs for encryption
   $productId = (int)$_GET['productid'];
   $catId = (int)$_GET['CatId'];
   echo $encryptObj->encrypt->encode($productId, $catId);