2013-03-06 27 views
0

我想用javascript将一些数据发送到php函数。我已经在今天早些时候发布了一个关于这个问题here,虽然我没有得到满意的答案,也许没有解释我自己的权利。使用javascript发送数据到php函数

所以我有一些JavaScript的变量(我通过一些API得到它)。我想发送这个变量到一个函数在PHP中。我使用codeigniter,所以我称之为(“somecontroller/somefunction”)。

我想通过邮件发送数据到函数。该函数调用一个视图并重新加载整个html。我正在寻找类似发送表单的内容。只有我有JavaScript中的变量。如果没有任何其他方式,我会动态地使用jQuery创建一个表单,并使用提交按钮上的.click方法发送数据。但是,有没有更优雅的解决方案?

我知道ajax,但问题是我不想要一个异步请求我想提交数据,然后为新的HTML加载。

+0

你想重新加载页面或只是一些部分? – Sebas 2013-03-06 20:43:12

+0

我想完全加载页面 – 2013-03-06 20:43:51

+0

创建表单是要做的事情,但您可以通过表单的DOM元素上的'.submit()'方法提交表单。无需制作假“提交”按钮。我认为*你需要将表单附加到真正的DOM上才能正常工作,所以你需要以某种方式隐藏它。 – Pointy 2013-03-06 20:45:32

回答

0

我认为解决这个问题的最简单方法是通过查询字符串发送数据,尽管您必须将目标页面更改为接受GET或REQUEST,而不是仅发布POST。

要只是这样做:

window.location.href = 'somecontroller/somefunction?var1='+var1+'&var2='+var2; 
+0

我希望通过后 – 2013-03-06 20:45:06

+1

发送此数据然后,您可能不得不做一些尴尬的事情,如创建一个隐藏的表单,填充它,然后提交它,或做一个Ajax调用,然后重定向页面一旦完成。 – 2013-03-06 20:46:00

0

访问你的表单元素的jQuery:

$.post("somecontroller/somefunction", { 
    param1: var1, 
    param2: var2, 
    ... 

}, function(result) { ... }); 
+0

这就像ajax,它不会在浏览器中加载html。 – 2013-03-06 21:29:27

+0

我想知道是否$(document).load(“somecontroller/somefunction”,...)将起作用。 – Barmar 2013-03-06 23:58:01