本人程序員新手,
最近才上手試作Server和HTML之間的聯動>"<
想試試在不重整網頁的情況下更新介面
想問問有關return資料的問題
想知道如何有效的把html的資料打包成data再到jquery拆包,再由xml打包返回資料到html拆包
ERROR 說由 xml return 的data 不是json格式
"Uncaught SyntaxError: Unexpected token u in JSON at position 0"
由於本人初次接觸>"<沒太多的相關知識和除錯能力
這個問題應該很基本,還請希望大大們多多見諒>"<
HTML:
<script>
function ShowSomething() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var myObj = JSON.parse(this.responseText);
document.getElementById("debug").innerHTML = myObj.name;
}
};
xmlhttp.open("GET", "test.php", true);
xmlhttp.send();
}
</script>
PHP:
<?php
$con = mysqli_connect('localhost','xxx','xxx','mydb');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
$myArr = '{"name":"John", "age":30, "city":"New York"}';
echo json_encode($myArr,true);
mysqli_close($con);
?>
php的資料應該是這樣寫
<?php
$con = mysqli_connect('localhost','xxx','xxx','mydb');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
// 你的mysqli 幹嘛用的?
$myArr = array();
$myArr]"name"]="John";
$myArr["age"] = 30;
$myArr["city"] = "New York";
echo json_encode($myArr,true);
mysqli_close($con);
// 回應完避免有多餘的HTML被回傳,盡量在這做die()跟exit()
?>
既然都用jQuery了,何不用到底,自己寫底層的XMLHttpRequest對入門真的很累....(雖然是必要的)
$.post({
url: "test.php",
dataType : "json",
data:{
customid: "0001"
}
})
.done(function(jsondata){
//jsondata來自於PHP echo的json,會自動parse
jsondata.forEach(function(idx,val){
console.log(index,val); // 自己看著變
}
});
非常感謝大大的建議>"<,上面的只是一個我簡化的例子,是會有資料從sql之中取出來的XD我只是把他簡化一下
非常感謝你提供的資訊,只是剛開始想把php/html之間的資料做交換就發生問題,所以先從簡單的做起,之後我會認真研究一下自己寫底層的XMLHttpRequest,謝謝你0 w0b
不好意思多問一句>"<不知為什麼還會有ERROR,JSON.parse不能識別this.responseText是json object
responseText = {"name":"Samson","age":30}
HTML:
<script>
function ShowSomething() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("debug").innerHTML = this.responseText;
const myObj = JSON.parse(this.responseText);
}
};
xmlhttp.open("GET", "Test.php", true);
xmlhttp.send();
}
</script>
PHP:
<?php
$myArr = array();
$myArr["name"]="Samson";
$myArr["age"] = 30;
echo json_encode($myArr,true);
?>
你在javascript上把fail的內容log一下,貼在這裡看看
抱歉>"<原來是我搞錯了,原來php檔有了,, JSON檔就認至出來,現在可以了0 w0/感謝大大幫忙