Javascript 在我的php脚本中显示空数据对象

Javascript 在我的php脚本中显示空数据对象,javascript,php,html,fetch,file-get-contents,Javascript,Php,Html,Fetch,File Get Contents,我想发送数据('ABCDEF','23','1234567890','abc@def.com'和图像'profile.jpg'),在FETCHapi的帮助下,输入我的php脚本 我的HTML: <form id="details" class="form"> Full name: <strong name="name_1">ABCDEF</strong><br><br>

我想发送数据(
'ABCDEF','23','1234567890','abc@def.com'和图像'profile.jpg'
),在FETCHapi的帮助下,输入我的
php
脚本

我的HTML:

<form id="details" class="form">

    Full name: <strong name="name_1">ABCDEF</strong><br><br>
    ID No:<strong name="org_number_1">23</strong><br><br>
    Mobile No:<strong name="ph_number_1">1234567890</strong><br><br>

    E-mail: <strong name="email_1">abc@def.com</strong><br><br>
    ID Card: <img src="profile.jpg" alt="preview" name="image" style="width: 100px; height: 100px;"><br><br>

    <button id="go" onclick="submit()"type="button" value="submit">Submit</button>

</form>
我的php:

<?php
      $post_data = file_get_contents("php://input");
      $data = json_decode($post_data); 
      var_dump($data);         //shows NULL
?>

为什么我的
$data
对象
NULL
?如何获取这些数据


编辑:我也遵循了步骤

显然,您试图通过端口5500联系本地主机上的API:

127.0.0.1:5500
默认情况下,很多事情是被禁止的,你必须允许。API所在的服务器应正确设置CORS。您可以在Apache或Nginx服务器上或在应用程序(例如NodeJS应用程序)中设置它们


显然,您试图通过端口5500联系本地主机上的API:

127.0.0.1:5500
默认情况下,很多事情是被禁止的,你必须允许。API所在的服务器应正确设置CORS。您可以在Apache或Nginx服务器上或在应用程序(例如NodeJS应用程序)中设置它们


超级全局变量(
$\u POST
在本例中)中的数据不可用,因为它不是来自多部分数据表单或应用程序/x-www-form-urlencoded。您应该能够看到读取的数据
'php//input'

<?php
     $post_data = file_get_contents("php://input")
     $data = json_decode($post_data); 
     var_dump($data); //You can't echo an object
我的输出

object(stdClass)[1]
  public 'name' => string 'ABCDEF' (length=6)
  public 'email' => string 'abc@def.com' (length=11)
  public 'IDNo' => string '23' (length=2)
  public 'ContactNo' => string '1234567890' (length=10)
  public 'image' => string 'http://localhost/so-test/profile.png' (length=36)

超级全局变量(
$\u POST
在本例中)中的数据不可用,因为它不是来自多部分数据表单或应用程序/x-www-form-urlencoded。您应该能够看到读取的数据
'php//input'

<?php
     $post_data = file_get_contents("php://input")
     $data = json_decode($post_data); 
     var_dump($data); //You can't echo an object
我的输出

object(stdClass)[1]
  public 'name' => string 'ABCDEF' (length=6)
  public 'email' => string 'abc@def.com' (length=11)
  public 'IDNo' => string '23' (length=2)
  public 'ContactNo' => string '1234567890' (length=10)
  public 'image' => string 'http://localhost/so-test/profile.png' (length=36)

为什么不一个接一个地获取post输入并在变量中定义它们呢

$name=$\u POST['name']
$id=$\u POST['id No']
$email=$\u POST['email']
$phone=$\u POST['ContactNo']
$img=$\u POST['image']

为什么不一个接一个地获取post输入并在变量中定义它们

$name=$\u POST['name']
$id=$\u POST['id No']
$email=$\u POST['email']
$phone=$\u POST['ContactNo']
$img=$\u POST['image']


我建议看一下CORS我认为您丢失了Allow Origin标题。如果您正常提交表单(没有AJAX)是否有效?@El_Vanja抱歉输入错误。@Olivier Yea,那次也不起作用。@m1crdy尝试过,不起作用。我建议您查看CORS我想你缺少了Allow Origin标题。如果你正常提交表单(没有AJAX)是否有效?@El_Vanja很抱歉输入错误。@Olivier Yea,那次也不起作用。@m1crdy尝试了,不起作用。我也能在重构HTML和JS部分后重现代码并测试它,因此,我将与您分享我为使其正常工作所做的工作。我不断发现
加载资源失败:服务器响应状态为405(不允许使用方法)
。我该如何解决这个问题?请帮帮我,这是全新的信息。听起来您的服务器不允许使用POST方法,这很奇怪,因为它非常常见。请分享您正在使用的服务器及其配置信息。据我所知,我确实安装了
XAMPP
php8.0.0
。我的代码编辑器是Visual Studio代码。这就是我所知道的。它打印Null我也能够复制您的代码,并在重构HTML和JS部分后对其进行测试,因此我将与您分享我为使其工作所做的工作。我不断得到
加载资源失败:服务器响应状态为405(不允许使用方法)
。我该如何解决这个问题?请帮帮我,这是全新的信息。听起来您的服务器不允许使用POST方法,这很奇怪,因为它非常常见。请分享您正在使用的服务器及其配置信息。据我所知,我确实安装了
XAMPP
php8.0.0
。我的代码编辑器是Visual Studio代码。我只知道这些。