PHP,AJAX,JSON - 两页之间的数据交换

时间:2018-06-05 16:02:31

标签: php json ajax

我有两个网页,我使用javascript(ajax)来调用php页面。 我想从change.php接收json文件到client.html中的脚本来打印结果。 问题是:我不知道如何将json文件发送到client.html中的脚本以打印结果
以下是页面:

client.html

<form>
 <input type="text" id="toEncode" name="toEncode"/>
 <input type="submit" onclick="changeFunction()"/>
</form>

<script src="jquery-3.3.1.min.js"></script> 
<script type='text/javascript'>

function changeFunction(){
    var userName = $('#toEncode').val();
    $.ajax({
        method: "POST",
        url: "change.php",
        data: { "msg": toEncode},
        success: function (response){
            window.alert("Done!");
           //decode json and print the result
        }
    });
}

change.php

<?php
 $temp= $_POST["msg"];
 $temp2= $temp.' ,hi';
 json_encode($temp2);
?>

3 个答案:

答案 0 :(得分:0)

您使用了错误的变量名称:

var toEncode = $(&#39;#toEncode&#39;)。val();

答案 1 :(得分:0)

在上面的代码中,您已将密钥msg设置为undefined的值toEncode

您还检索了userName值但从未使用过它。

我认为你对确切输入的内容感到困惑。

的解决方案

let userName = $('#toEncode').val();

$.ajax({
  method: "POST",
  url: "change.php",
  data: {
    msg: userName
  },
  success: function(response) {
    window.alert("Done!");
  }
});

change.php

无需修改

答案 2 :(得分:0)

<form>
 <input type="text" id="toEncode" name="toEncode"/>
 <input type="submit" onclick="changeFunction()"/>
</form>

<script src="jquery-3.3.1.min.js"></script> 
<script type='text/javascript'>

function changeFunction(){
    var userName = $('#toEncode').val();
    $.ajax({
        type: "POST",
        url: "change.php",
        dataType: 'json',
        data: { "msg": userName},
        success: function (response){
            window.alert("Done!");
           //decode json and print the result
        }
    });
}

<强> Change.php

<?php
 $temp= $_POST["msg"];
 $temp2= $temp.' ,hi';
 echo  json_encode($temp2);
 die();
?>