我有两个网页,我使用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);
?>
答案 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();
?>