2009-11-04 46 views
0

我想调用一个PHP文件,但想将参数传递给PHP文件。没有得到正确的方法,我试图写入一个cookie并在PHP文件加载时读取该cookie。但是这也不起作用。我正在使用以下代码来编写和读取cookie。我只想在这里测试JavaScript的读取cookie功能。我知道如何读取PHP中的cookie值。[PHP/JavaScript]:通过JavaScript代码调用PHP文件,参数为

<script> 
    function SetRowInCookie(NewCookieValue) 
    { 
     try 
     { 
      alert(NewCookieValue); 
      document.cookie = 'row_id=' + NewCookieValue; 
      loadCookies();   
     } 
     catch(err) 
     { 
      alert(err.description); 
     } 
    } 

    function loadCookies() { 
    var cr = []; if (document.cookie != '') { 
    var ck = document.cookie.split('; '); 
    for (var i=ck.length - 1; i>= 0; i--) { 
     var cv = ck.split('='); 
     cr[ck[0]]=ck[1]; 
    } 
    } 
     alert(cr['row_id']); 
    } 
</script> 

回答

2

Cookie不是在客户端和服务器之间传输变量的方式。您应该使用get(querystring)或post方法将键/变量对附加到请求URL。

jQuery ajax示例;

$.get('http://www.myphpserver.com/script.php?row_id=' + NewCookieValue); 
+0

好主意,但jQuery不包含在上面的标记中;) – 2009-11-04 13:49:02

3

我不知道是什么在你的代码(客户端的PC上运行的),你希望使PHP脚本(运行在服务器上)运行。您需要通过发出某种类型的http请求来调用php(例如get http://yoururl/recheckcookie.php)。使用HTTP请求,客户端上的JavaScript代码向Web服务器查询recheckcookie.php脚本的输出。这个脚本可以重新检查cookie,并返回一些/不输出。

查找XMLHttpRequest或者最好是相应的JQuery来查看如何执行HTTP请求。

1

嗯,我不确定你最终试图达到什么样的效果,但听起来像使用AJAX可能是你的解决方案。有一个很好的教程here

AJAX基本上允许你调用一个php脚本,传递它的变量,然后在你的网页上使用它的输出。

2

我想,你不需要饼干。尝试使用$ .post,您可以在其中定义将调用哪个网址,例如:

$.post(url, params, callback_function);