在 Codeingiter 中的控制器函数中检索多个后置变量
我将数据发布到控制器,如下所示:
var postVars = new Array();
postVars[0] = key;
postVars[1] = haveCredits;
postVars[2] = creditsNeeded;
postVars[3] = creditsLeft;
//alert(postVars.join("&"));
xhr.open('POST', 'ajax');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(postVars.join("&"));
如何在控制器函数中检索此值?
控制器代码:
$variableValues= explode('&',$this->input->post('postVars'));
它返回一个空数组。
提前致谢。
I am posting data to controller like this:
var postVars = new Array();
postVars[0] = key;
postVars[1] = haveCredits;
postVars[2] = creditsNeeded;
postVars[3] = creditsLeft;
//alert(postVars.join("&"));
xhr.open('POST', 'ajax');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(postVars.join("&"));
How can i retrieve this values in my controller function?
Controller code:
$variableValues= explode('&',$this->input->post('postVars'));
It is returning an empty array.
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
像这样更改最后一行:
现在
$variableValues=explode('&',$this->input->post('postVars'));
应该可以工作。顺便说一句,我想向您介绍 jQuery。它是最流行的 JavaScript 库之一,并且具有非常强大的 AJAX API。
Change last row like this:
Now
$variableValues= explode('&',$this->input->post('postVars'));
should work.Btw, i would like to introduce you to jQuery. It's one of the most popular JavaScript libraries and has very powerfull AJAX API.
您发送的内容实际上并不是
application/x-www-form-urlencoded
格式。您只是将字符串值连接在一起,而不是命名的 URL 转义参数。我建议以标准 URL 编码格式发送单独的参数:
然后在 PHP 端,您可以使用普通请求数组检索它们:
What you're sending isn't really
application/x-www-form-urlencoded
format. You're just joining together string values, rather than named, URL-escaped parameters.I suggest sending separate parameters in standard URL-encoded format:
then on the PHP side you can retrieve them using the normal request arrays: