如何使用javascript将json数据从一个html页面传递到另一个html页面?
我必须传递将信息插入datbase表后生成的Json数据,现在我必须将此信息传递到另一个页面BookingConformation.html 例如,我们将获得表单服务器欢迎Mittel先生/夫人,谢谢您预订家庭服务。您的预订id为1。因此,请告诉我如何传递信息,该信息以javascript获取表单服务器。现在我必须将此信息传递到其他页面,请在这方面帮助我 脚本如何使用javascript将json数据从一个html页面传递到另一个html页面?,javascript,php,jquery,json,Javascript,Php,Jquery,Json,我必须传递将信息插入datbase表后生成的Json数据,现在我必须将此信息传递到另一个页面BookingConformation.html 例如,我们将获得表单服务器欢迎Mittel先生/夫人,谢谢您预订家庭服务。您的预订id为1。因此,请告诉我如何传递信息,该信息以javascript获取表单服务器。现在我必须将此信息传递到其他页面,请在这方面帮助我 脚本 <script> $(document).ready(function(){ $("#registe
<script>
$(document).ready(function(){
$("#register-form").validate({
rules: {
userName: "required",
email: {
required: true,
email: true
},
userContactNumber: "required"
},
messages: {
userName: "Please enter your Name",
userContactNumber: "Please enter your Mobile number",
email: "Please enter a valid email address",
},
submitHandler: function(form) {
var uName = $('#userName').val();
var mailId = $('#email').val();
var mobNum = $('#userContactNumber').val();
$.ajax({
url:"http://localhost/bookRoom/book.php",
type:"POST",
dataType:"json",
data:{type:"booking", Name:uName, Email:mailId, Mob_Num:mobNum},
ContentType:"application/json",
success: function(response){
//alert(JSON.stringify(response));
//alert("success");
alert(response);
var globalarray = [];
globalarray.push(response);
window.localStorage.setItem("globalarray", JSON.stringify(globalarray));
window.location.href = 'BookingConformation.html';
},
error: function(err){
window.location.href = 'error.html';
}
});
return false; // block regular submit
}
});
});
</script>
$(文档).ready(函数(){
$(“#登记表”)。验证({
规则:{
用户名:“必需”,
电邮:{
要求:正确,
电子邮件:真的
},
userContactNumber:“必需”
},
信息:{
用户名:“请输入您的姓名”,
userContactNumber:“请输入您的手机号码”,
电子邮件:“请输入有效的电子邮件地址”,
},
submitHandler:函数(表单){
var uName=$('#userName').val();
var mailId=$('#email').val();
var mobNum=$('#userContactNumber').val();
$.ajax({
url:“http://localhost/bookRoom/book.php",
类型:“POST”,
数据类型:“json”,
数据:{键入:“预订”,名称:uName,电子邮件:mailId,Mob_Num:mobNum},
ContentType:“应用程序/json”,
成功:功能(响应){
//警报(JSON.stringify(响应));
//警惕(“成功”);
警报(响应);
var globalarray=[];
全球阵列推送(响应);
setItem(“globalarray”,JSON.stringify(globalarray));
window.location.href='BookingConformation.html';
},
错误:函数(err){
window.location.href='error.html';
}
});
返回false;//阻止定期提交
}
});
});
服务器代码
<?php
header('Access-Control-Allow-Origin: *');//Should work in Cross Domaim ajax Calling request
mysql_connect("localhost","root","7128");
mysql_select_db("service");
if(isset($_POST['type']))
{
if($_POST['type']=="booking"){
$name = $_POST ['Name'];
$mobile = $_POST ['Mob_Num'];
$mail = $_POST ['Email'];
$query1 = "insert into customer(userName, userContactNumber, email) values('$name','$mobile','$mail')";
$query2 = "insert into booking(cust_email, cust_mobile, cust_name) values('$mail','$mobile','$name')";
$result1=mysql_query($query1);
$result2=mysql_query($query2);
$id=mysql_insert_id();
$value = "Welcome Mr/Mrs ".$name." Thanks for booking home services your booking id is = ".$id;
echo json_encode($value);
}
}
else{
echo "Invalid format";
}
?>
您可以试试这个
在第一页声明变量
<script type="text/javascript">
var globalarray = [];
globalarray.push(response.d);
window.localStorage.setItem("globalarray", JSON.stringify(globalarray));
</script>
var globalarray=[];
全球阵列推送(响应d);
setItem(“globalarray”,JSON.stringify(globalarray));
在第二页调用该变量
<script type="text/javascript">
var globalarray = [];
var arrLinks =[];
arrLinks = JSON.parse(window.localStorage.getItem("globalarray"));
console.log(arrLinks);
</script>
var globalarray=[];
var arrLinks=[];
arrLinks=JSON.parse(window.localStorage.getItem(“globalarray”);
控制台日志(arrLinks);
您可以使用会话存储
来存储和检索JSON数据
var complexdata = [1, 2, 3, 4, 5, 6];
// store array data to the session storage
sessionStorage.setItem("list_data_key", JSON.stringify(complexdata));
//Use JSON to retrieve the stored data and convert it
var storedData = sessionStorage.getItem("complexdata");
if (storedData) {
complexdata = JSON.parse(storedData);
}
要在使用usesessionStorage.clear()后删除sessionStorage数据代码>如果这是真正的服务器端代码,那么……它是完全不安全的。永远不要将用户发布的变量直接传递到查询中
$query2 = "insert into booking(cust_email, cust_mobile, cust_name) values('$mail','$mobile','$name')";
至少使用“mysql\u real\u escape\u string”或使用准备好的语句来转义值。而且…不要再使用mysql了,使用mysqli吧,它和你现在使用的几乎一样,但不会很快被弃用
另外,您正在对一个不需要json编码的字符串进行json编码,它只是一段文本,不是有效的json代码。这可能就是为什么@Simarjeethingh Panghlia的答案不适合你
不要对该值进行json_编码,而是对结构化数组进行编码
$response = array( "status" => true );
if(isset($_POST['type']))
{
if($_POST['type']=="booking"){
$name = mysql_real_escape_string( $_POST ['Name'] ));
$mobile = mysql_real_escape_string($_POST ['Mob_Num']);
$mail = mysql_real_escape_string($_POST ['Email']);
$query1 = "insert into customer(userName, userContactNumber, email) values('$name','$mobile','$mail')";
$query2 = "insert into booking(cust_email, cust_mobile, cust_name) values('$mail','$mobile','$name')";
$result1 = mysql_query($query1);
$result2 = mysql_query($query2);
$id = mysql_insert_id();
$response["message"] = "Welcome Mr/Mrs ".$name." Thanks for booking home services your booking id is = ".$id;/* make sure you strip tags etc to prevent xss attack */
}
}
else{
$response["status"] = false;
$response["message"] = "Invalid format";
}
echo json_encode($response);
/* Note that you are making the query using ContentType:"application/json", */
这意味着无论查询是否成功,都应该使用json进行响应。我还建议使用一个名为jStorage的简单jQuery插件,它允许轻松获取/设置对象,而无需序列化它们 感谢您的回答,我根据您的要求进行了更改,但它不起作用,请检查更新的代码,响应是什么。d??检查u将在控制台中获取值,并在第一页的脚本之后在顶部声明globalarray。我在conformation.html上获取数据,但只有在单击html元素后,请检查,如何在不单击任何html元素的情况下获取。在document.ready函数中编写代码或在document.ready中调用myfunction()。请检查更新的代码,我正在获取conformation.html上的数据,但只有在单击html元素后,请检查如何在不单击任何html元素的情况下获取数据。
$response = array( "status" => true );
if(isset($_POST['type']))
{
if($_POST['type']=="booking"){
$name = mysql_real_escape_string( $_POST ['Name'] ));
$mobile = mysql_real_escape_string($_POST ['Mob_Num']);
$mail = mysql_real_escape_string($_POST ['Email']);
$query1 = "insert into customer(userName, userContactNumber, email) values('$name','$mobile','$mail')";
$query2 = "insert into booking(cust_email, cust_mobile, cust_name) values('$mail','$mobile','$name')";
$result1 = mysql_query($query1);
$result2 = mysql_query($query2);
$id = mysql_insert_id();
$response["message"] = "Welcome Mr/Mrs ".$name." Thanks for booking home services your booking id is = ".$id;/* make sure you strip tags etc to prevent xss attack */
}
}
else{
$response["status"] = false;
$response["message"] = "Invalid format";
}
echo json_encode($response);
/* Note that you are making the query using ContentType:"application/json", */