thinkPHP 的路由器规则生成的 url 怎么接收 post 数据?

WBOY
Libérer: 2023-03-02 09:14:01
original
1735 Les gens l'ont consulté

我用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>
Copier après la connexion
Copier après la connexion

以下成功:

<code>sUrl = "http://localhost/VbaPostDemo.php"
sData = "a=1&b=2"


//对应目录:C:\AppServ\www\VbaPostDemo.php
        
<?php echo $_POST["a"];
    </code></code>
Copier après la connexion
Copier après la connexion
<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>
Copier après la connexion
Copier après la connexion

回复内容:

我用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>
Copier après la connexion
Copier après la connexion

以下成功:

<code>sUrl = "http://localhost/VbaPostDemo.php"
sData = "a=1&b=2"


//对应目录:C:\AppServ\www\VbaPostDemo.php
        
<?php echo $_POST["a"];
    </code></code>
Copier après la connexion
Copier après la connexion
<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>
Copier après la connexion
Copier après la connexion

使用其他工具Post测试下呢, 比如Postman, 看看会不会出现这种情况.如果也出现那么说明应该是你代码问题 或者是TP问题. 如果没有 那么说明是你vba问题.

估计是路径错了,你自己手动吧路径在浏览器敲一下,应该是报一样的错!

m,c,a 禁用(内部已使用) 这问题确实比较扯淡

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!