thinkPHP 的路由器规则生成的 url 怎么接收 post 数据?
Dec 01, 2016 am 12:57 AM
我用vba 给 php 传递参数的时候,如果是普通的 php 文件,就可以接受到,而用 thinkPHP 框架的生成url,就收不到,怎么回事呢?
以下是vba代码:
<code> Set obj = CreateObject("Microsoft.XMLHTTP") obj.Open "POST", sUrl, False obj.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded" obj.send (sData)</code>
以下成功:
<code>sUrl = "http://localhost/VbaPostDemo.php" sData = "a=1&b=2" //对应目录:C:\AppServ\www\VbaPostDemo.php <?php echo $_POST["a"]; </code></code>
<code>以下失败: sUrl = "http://localhost/yb1/Home/curd/futuresDemo" sData = "a=1&b=2" 控制器function : function futuresDemo() { echo $_REQUEST["a"]; } 错误提示: " :( 非法操作:1 错误位置 FILE: C:\AppServ\www\yb1\ThinkPHP\Library\Think\Controller.class.php LINE: 170 TRACE #0 C:\AppServ\www\yb1\ThinkPHP\Library\Think\Controller.class.php(170): E('\xE9\x9D\x9E\xE6\xB3\x95\xE6\x93\x8D\xE4\xBD\x9C:1') #1 [internal function]: Think\Controller->__call('1', '') #2 C:\AppServ\www\yb1\ThinkPHP\Library\Think\App.class.php(114): ReflectionMethod->invokeArgs(Object(Home\Controller\CurdController), Array) #3 C:\AppServ\www\yb1\ThinkPHP\Library\Think\App.class.php(204): Think\App::exec() #4 C:\AppServ\www\yb1\ThinkPHP\Library\Think\Think.class.php(120): Think\App::run() #5 C:\AppServ\www\yb1\ThinkPHP\ThinkPHP.php(97): Think\Think::start() #6 C:\AppServ\www\yb1\index.php(27): require('C:\\AppServ\\www\\...') #7 {main} ThinkPHP3.2.3 { Fast & Simple OOP PHP Framework } -- [ WE CAN DO IT JUST THINK ] " </code>
回复内容:
我用vba 给 php 传递参数的时候,如果是普通的 php 文件,就可以接受到,而用 thinkPHP 框架的生成url,就收不到,怎么回事呢?
以下是vba代码:
<code> Set obj = CreateObject("Microsoft.XMLHTTP") obj.Open "POST", sUrl, False obj.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded" obj.send (sData)</code>
以下成功:
<code>sUrl = "http://localhost/VbaPostDemo.php" sData = "a=1&b=2" //对应目录:C:\AppServ\www\VbaPostDemo.php <?php echo $_POST["a"]; </code></code>
<code>以下失败: sUrl = "http://localhost/yb1/Home/curd/futuresDemo" sData = "a=1&b=2" 控制器function : function futuresDemo() { echo $_REQUEST["a"]; } 错误提示: " :( 非法操作:1 错误位置 FILE: C:\AppServ\www\yb1\ThinkPHP\Library\Think\Controller.class.php LINE: 170 TRACE #0 C:\AppServ\www\yb1\ThinkPHP\Library\Think\Controller.class.php(170): E('\xE9\x9D\x9E\xE6\xB3\x95\xE6\x93\x8D\xE4\xBD\x9C:1') #1 [internal function]: Think\Controller->__call('1', '') #2 C:\AppServ\www\yb1\ThinkPHP\Library\Think\App.class.php(114): ReflectionMethod->invokeArgs(Object(Home\Controller\CurdController), Array) #3 C:\AppServ\www\yb1\ThinkPHP\Library\Think\App.class.php(204): Think\App::exec() #4 C:\AppServ\www\yb1\ThinkPHP\Library\Think\Think.class.php(120): Think\App::run() #5 C:\AppServ\www\yb1\ThinkPHP\ThinkPHP.php(97): Think\Think::start() #6 C:\AppServ\www\yb1\index.php(27): require('C:\\AppServ\\www\\...') #7 {main} ThinkPHP3.2.3 { Fast & Simple OOP PHP Framework } -- [ WE CAN DO IT JUST THINK ] " </code>
使用其他工具Post测试下呢, 比如Postman, 看看会不会出现这种情况.如果也出现那么说明应该是你代码问题 或者是TP问题. 如果没有 那么说明是你vba问题.
估计是路径错了,你自己手动吧路径在浏览器敲一下,应该是报一样的错!
m,c,a 禁用(内部已使用) 这问题确实比较扯淡

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP
