我创建了一个带有固定json对象的简单html文件。我想把对象带到php文件text.php,编码,解码,在php文件中打印,然后将其打印回html文件。 html文件:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
<script>
var key=45;
var value=65;
var rated = {"key" : key , "value" : value};
var rated_encoded = JSON.stringify(rated);
$.ajax({
type: "POST",
url: "text.php",
dataType:"json",
data: {
"rated" : rated_encoded
},
//success: function(data) {
//document.write(data);
//}
});
</script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("#div1").load("text.php");
});
});
</script>
<div id="div1"><h6>Result</h6></div>
<button>Get External Content</button>
</body>
</html>
text.php代码:
<?php
if(isset($_POST["rated"])){
$rated_json = $_POST["rated"];
$JSONArray = json_decode($rated_json, true);
if($JSONArray !== null){
$key = $JSONArray["key"];
$value = $JSONArray["value"];
}
echo json_encode($rated_json);
}
?>
echo json_encode($rated_json);
在text.php的最后一行不起作用。我不知道我们是否可以打印编码的东西或其他东西。代替那行,即使我键入echo&#34; hello&#34 ;;,它也不会在php文件中打印。如果有任何方法可以在text.php中打印$ JSONArray变量,那就太好了。如果我可以在html文件本身中编码json对象,发送到php脚本,在那里解码然后发回并在html文件中打印,那会更好。对不起,如果这个问题措辞不当或非常基本。另外,请慢慢解释一下代码。
答案 0 :(得分:0)
您需要添加contentType:“application / json; charset = UTF-8”,
$.ajax({
type: "POST",
url: "text.php",
dataType:"json",
contentType: "application/json; charset=UTF-8",
data: {
"rated" : rated_encoded
},
//success: function(data) {
//document.write(data);
//}
});
dataType选项仅用于解析收到的数据。
如果仍然无效,请添加:processData:false