【问题标题】:Post method not working in webservices发布方法在 Web 服务中不起作用
【发布时间】:2018-02-25 05:40:52
【问题描述】:

我正在运行一个简单的文件,只是为了测试方法在 web 服务中是否正常工作。使用 Get 方法运行文件时,它工作正常,但 Postmethod 不工作。下面是我的代码

    <?php
if($_SERVER['REQUEST_METHOD']== "POST"){

 $abc=$_POST['name'];

   echo $abc;
}
else{
    echo "method not accepted";
}

header('Content-type:application/json');
?>

在运行代码时,它会自动转到其他部分。我怎样才能解决这个问题。如果有人能提出建议,我们将不胜感激。

【问题讨论】:

  • $_SERVER['REQUEST_METHOD'] 实际返回了什么?
  • 我只是想检查 Post 方法是否工作正常。我正在使用 Post 通过邮递员运行代码,但它直接进入 else 部分,而在 get 方法中它可以工作
  • 不,只是回应它

标签: php web-services post get


【解决方案1】:

这应该可以完美运行。 我相信,您没有发出 POST 请求。 建议: 如果您是从表单中拨打电话,请添加

表单标签中的method="POST"

如果您正在进行 ajax 调用 $.ajax({ 网址:“网址”, 类型:“POST”, 数据:“数据” }).done();

提示: 您无法通过简单地从浏览器中点击 url 来拨打电话。您必须使用 POSTMAN 手动进行 POST 调用。

【讨论】:

  • 您是否将呼叫类型从 GET 更改为 POST?在 POST MAN 中......因为默认情况下它是 GET 那里。只需选中您输入网址的位置左侧的复选框即可。
  • 是的,也这样做了,但它在 post 方法中不起作用
  • 你能把两个完整的代码发给我吗?我会把解决方案发回给你。 prasantabose1310@gmail.com
  • 代码在上面提到。这是我想通过邮递员运行的简单代码,只是为了启动 web 服务。但是这个简单的代码在本地主机上正常运行时无法在服务器中运行。
  • 试试这个。
【解决方案2】:

您永远不应该使用== 来比较字符串。使用===strcmp 比较两个字符串。

【讨论】:

  • 我们没有尝试比较字符串,这是我们正在使用的 post 和 get 方法
猜你喜欢
  • 2017-03-01
  • 1970-01-01
  • 2015-09-23
  • 2022-10-18
  • 2013-03-23
  • 2014-10-17
  • 1970-01-01
  • 1970-01-01
  • 2012-07-27
相关资源
最近更新 更多