2012-01-24 82 views
-1

我有一个JavaScript函数我想在页面上运行,当执行时会发送一个变量到一个PHP脚本,但不打开PHP页面只停留在当前页面上。从Javascript到PHP的变量

我想要做的是将此功能添加到网站上的页面,并为它返回有关它所运行的页面的信息,例如URL和用户IP。

我到目前为止尝试过的一切都没有完成这项工作,所以任何信息都会被赞赏。

非常感谢

感谢昆汀,但我试图JavaScript的形式,但它们都打开窗体被发布到URL。我最近的例子:

var form = new Element('form', 
    {method: 'post', action: 'http://www.site.com/data.php'}); 
    form.insert(new Element('input', 
    {name: 'u', value: ""+u, type: 'hidden'})); 
$(document.body).insert(form); 

form.submit();

我也试过:

document.location.href='http://www.site.com/data.php?u='+u; 

,但这又打开的网页:S

对于那些认为AJAX,谢谢你,但它不会工作,因为需要在头一个脚本链接,我需要能够在不编辑标题的情况下将其插入页面。我曾尝试通过javascript函数动态插入它,但它确实没有任何AJAX函数会执行。

+10

您正在寻找AJAX。这已被问过无数次,所以请使用搜索。 – hakre

+0

@hakre无关 - 在昨晚发布您的[HEAD首先使用PHP Streams](http://hakre.wordpress.com/2011/09/17/head-first-with-php-streams/)。好的工作:) – rdlowrey

+0

嘿它的一个有效的问题,不要打他请求... – samccone

回答

0

使用jQuery的

为简单起见,做这样的事情

$.ajax('foo.php',function(d){ alert(d); }); 
1

你所寻找被称为AJAX(异步JavaScript和XML)。 Javascript中的这些类型的调用通过诸如jQuery之类的东西变得微不足道。

这是jQuery的website关于AJAX的说法:jQuery库具有全套的AJAX功能。其中的功能和方法允许我们从服务器加载数据,而无需刷新浏览器页面。

和实例的jQuery POST:

$.post('ajax/test.html', function(data) { 
    $('.result').html(data); 
});