假设我使用以下代码将数据提交到表单
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
任何帮助都会很棒。
由于
答案 0 :(得分:2)
您需要使用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文件中的所有回声。一旦你回应然后启动输出缓冲区以响应客户端。
信息:http://php.net/manual/pt_BR/function.header.php
我认为这应该是你在php页面上的唯一回音。
echo include( 'giveid.php');
尝试使用Google Chrome开发人员工具网络标签查看您的php网页的响应。
信息:https://developers.google.com/chrome-developer-tools/docs/network
答案 1 :(得分:1)
获取xhr.response然后解析它。
我们通常会返回一个json字符串,因此js可以轻松解析它。
googled xhr example 像这样的东西:
xhr.onreadystatechange=function()
{
if (xhr.readyState!=4 || xhr.status!=200)
return;
var resp = xhr.responseText;
var parsed = eval(resp);
}