Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript将json数据从一个html页面传递到另一个html页面?_Javascript_Php_Jquery_Json - Fatal编程技术网

如何使用javascript将json数据从一个html页面传递到另一个html页面?

如何使用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

我必须传递将信息插入datbase表后生成的Json数据,现在我必须将此信息传递到另一个页面BookingConformation.html

例如,我们将获得表单服务器欢迎Mittel先生/夫人,谢谢您预订家庭服务。您的预订id为1。因此,请告诉我如何传递信息,该信息以javascript获取表单服务器。现在我必须将此信息传递到其他页面,请在这方面帮助我

脚本

<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);
}

要在使用use
sessionStorage.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", */