我正在尝试解析一个php文件链接的在线数据库的json数据,我不知道怎么做。一般来说,我知道解析json数据是这样的。
<script>
var data = '{"name": "mkyong","age": 30,"address": {"streetAddress": "88 8nd Street","city": "New York"},"phoneNumber": [{"type": "home","number": "111 111-1111"},{"type": "fax","number": "222 222-2222"}]}';
var json = JSON.parse(data);
alert(json["name"]); //mkyong
alert(json.name); //mkyong
alert(json.address.streetAddress); //88 8nd Street
alert(json["address"].city); //New York
alert(json.phoneNumber[0].number); //111 111-1111
alert(json.phoneNumber[1].type); //fax
alert(json.phoneNumber.number); //undefined
</script> 但是如果我用php创建一个json文件,它有一个链接,该怎么办呢?
www.example.com/parse.php我希望这个链接能将它与另一个服务器中的另一个html文件连接起来,比如
www.example2.com/parsehere.html以下哪段代码没有将json数据放入行内,而是从php的链接加载它?这有可能吗?
我所要做的就是让这个脚本从url中加载数据,而不是像上面的脚本那样从原始的json数据中加载。
<script>
//here something to load data from a link and parse it below.
var json = JSON.parse(data);
alert(json["name"]); //mkyong
alert(json.name); //mkyong
alert(json.address.streetAddress); //88 8nd Street
alert(json["address"].city); //New York
alert(json.phoneNumber[0].number); //111 111-1111
alert(json.phoneNumber[1].type); //fax
alert(json.phoneNumber.number); //undefined
</script> 发布于 2015-11-26 17:27:46
如果我没看错你的问题,你想要一个php脚本来生成json?下面是我制作的php脚本的一部分,它返回json.This另存为file.php并通过web调用。
$return_arr = array();
while($row = mysql_fetch_assoc($dbresult)) {
if($row["firstletter"] != '')
{
$row_array['id'] = $row['id'];
$row_array['firstletter'] = $row['firstletter'];
$row_array['languageid'] = $row['languageid'];
$row_array['word'] = $row['word'];
$row_array['description'] = $row['description'];
$row_array['imageList'] = $row['imageList'];
array_push($return_arr,$row_array);
}
}
header("Access-Control-Allow-Origin: *");
header("Content-type: application/json");
$json = json_encode($return_arr);
echo $json;要获取您的php-json,请在代码中使用以下代码:
var HttpClient = function() {
this.get = function(aUrl, aCallback) {
var anHttpRequest = new XMLHttpRequest();
anHttpRequest.onreadystatechange = function() {
if (anHttpRequest.readyState == 4 && anHttpRequest.status == 200)
aCallback(anHttpRequest.responseText);
}
anHttpRequest.open( "GET", aUrl, true );
anHttpRequest.send( null );
}
}然后,要进行实际调用,请使用以下代码:
var myClient = new HttpClient();
myClient.get('http://yourphp.php', function(response) {
// Do what you want with the response
});https://stackoverflow.com/questions/33934250
复制相似问题