哎, 我有大约30个由用户创建和修改的变量(没有一个来自输入,因此提交表单实际上不是一个选项),一旦修改完成JS函数处理变量和配偶将它们发布到控制器,这将是然后发送给模型。
现在,正如标题中所示,我的问题是我发送它们的最佳方式是什么?
时间和注意力,thnx Ido答案 0 :(得分:5)
除非它像复杂的搜索表单,否则我不会使用GET
。
您可以使用某种形式的AJAX或通过生成隐藏的表单并提交它来在JavaScript中POST
值。
答案 1 :(得分:0)
我会使用ajax提交的表单来使用POST。您只需创建一个包含隐藏输入的表单,然后使用您喜欢的ajax库将表单作为POST请求提交给服务器。
答案 2 :(得分:0)
如果变量紧密相关,你可以将它们推入一个数组并POST它们(当然使用Javascript来构造数组)。另一种选择是命名每一个并分别发布它们吗?
POST数组如下所示:arr[]=Hello&arr[]=World
在PHP中,您可以像
一样访问它<?php
arr = $_POST['arr'] // ["Hello", "World"]
?>
希望有所帮助!
答案 3 :(得分:0)
在POST和GET之间进行权衡。如果要导航回具有给定“变量”集的页面,GET会更好。如果您提交大量内容,POST会更好。但是,作为GET请求,POST请求不那么“有效” - 请记住这一点,并且只在您确实需要时才使用POST。
答案 4 :(得分:0)
现代浏览器和较新版本的PHP都支持JSON,如果您需要支持的浏览器或您遇到的PHP版本已经过时,您可以使用支持的库。我建议将其作为一种来回获取数据的方法。
客户端JS:
var myobject = {
userparam: "value",
anotherThing: "another value",
something: "etc"
}
var serialized = JSON.stringify(myobject);
// use any AJAX technicque to POST 'serialized' back to the server
然后在服务器端:
<?php
$myobject = json_decode( $_POST['serialized'], true );
$myobject['userparam'] == "value"; // true
希望这有帮助!