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应用程序)中设置它们
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代码。我只知道这些。