gpt4 book ai didi

php - 在 Javascript 中捕获表单响应?

转载 作者:行者123 更新时间:2023-11-30 13:11:26 24 4
gpt4 key购买 nike

假设我使用以下代码将数据提交到表单

var xhr = new XMLHttpRequest(), formData = new FormData();  
formData.append("img", img);
formData.append("user", localStorage["username"]);
formData.append("pass", localStorage["password"]);

xhr.onreadystatechange = function (event) {
if (xhr.readyState === 4 && xhr.status === 200) {
var value = xhr.responseText; // value should equal "1234"
alert( "value = " + value );
}else{
alert("none");
}
};
xhr.open("POST", "http://joubin.me/uploads3/upload_file.php", true);
xhr.send(formData);

upload.php 完成后,它重定向到另一个名为 giveid.php 的页面,它唯一显示的是带有 id 的文本字符串

1234

我如何使用 javascript 捕获这个确切的 ID。

请记住,不同的 upload.php 重定向将在 giveid.php 上具有不同的 ID 号?

我查看了 xmlhtml回应,无法弄清楚。

表格是这样的

$password = $_REQUEST['pass'];
$username = $_REQUEST['user'];
$image = $_REQUEST['img'];
echo $password;
echo "<br/>";
echo $username;
echo "<br/>";
echo $image;
$con = mysql_connect("localhost","ya","right");
if (!$con)
{
die('Could not connect: ' . mysql_error());
echo "could not connect";
}
$asql = "SELECT * FROM `ashkan`.`users` where user='$username' and pass='$password';";

$result = mysql_query($asql);
echo $result;
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);

echo $count;

echo 11;
if($count == 1){
$sql = "INSERT INTO `ashkan`.`goog` (`user`, `pass`, `img`) VALUES ('$username', '$passwo$
}
mysql_query($sql);
mysql_close($con);
header( 'Location: giveid.php' ) ;

这里是giveid.php的内容

1234

任何帮助都会很棒。

谢谢

最佳答案

您需要使用xhr.onreadystatechange 从服务器获取响应。

这样的事情可能会奏效。

var value;
var formData = new FormData();
formData.append("img", img);
formData.append("user", localStorage.username);
formData.append("pass", localStorage.password);

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function (event) {
if (xhr.readyState === 4 && xhr.status === 200) {
value = xhr.responseText; // value should equal "1234"
alert( "value = " + value );
}
};
xhr.open("POST", "upload.php", true);
xhr.send(formData);

信息在这里:http://www.tizag.com/ajaxTutorial/ajaxxmlhttprequest.php

请记住,必须在发送任何实际输出之前调用 header()。所以摆脱你在 php 文件中的所有 echo 。一旦你回显,就会启动输出缓冲区以响应客户端。

信息在这里:http://php.net/manual/pt_BR/function.header.php

我认为这应该是您在 php 页面上唯一的回应。

echo include( 'giveid.php');

尝试使用 Google Chrome Dev Tool Network 选项卡查看来自您的 php 网页的响应。

  • 启动谷歌浏览器,
  • 按 f12,
  • 点击网络标签,
  • 重新加载您的页面,
  • 点击ajax响应页面,
  • 点击预览查看响应。

信息在这里:https://developers.google.com/chrome-developer-tools/docs/network

关于php - 在 Javascript 中捕获表单响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13737913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com