首先,我将数据编码在json_encode函数中。
例如:
{"test":"test value"}
我想要做的是将测试变成一个javascript变量,它可以保存“测试值”的数据。
答案 0 :(得分:0)
$.getJSON('ajax/test.json', function(data) {
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});
直接来自jquery docs ...
答案 1 :(得分:0)
对象是关联数组。它们存储键/值对。所以你要做的就是:
var test = function(){}
test["hello"] = "world";
这会将hello
设置为变量,将world
设置为其值。
你可以通过
alert(test.hello);
用json键和值
替换hello
和world
希望通过此示例提供更多帮助: 我正在使用Jquery AJAX转到index.php资源并返回一个json对象。
的index.php
<?php
$variables = array('hello' => 'world');
echo json_encode($variables);
?>
example.html的
var test = function(){}
$.ajax({
url: index.php,
success: function(json) {
for(var key in json ){
var testVarName = key;
var testVarValue = json[key];
test[testVarName ] = testVarValue;
}
}
});
所以现在test
对象的变量为hello
,其值为world
答案 2 :(得分:0)
index.php(在这里使用json_encode
):
<?php
$foo = array('test' => 'test value');
echo json_encode($foo);
?>
example.html的
<script type="text/javascript">
$.get('index.php', function(response) {
alert(response['test']);
// this will alert "test value"
}, 'json');
</script>
EDIT1 :example.html (不使用jQuery解决方案):
<script type="text/javascript">
window.onload = function() {
var request;
request = getHTTPObject();
request.onreadystatechange = sendData;
request.open("GET", "index.php", true);
request.send(null);
}
function sendData() {
if(request.readyState == 4){
var JSONtext = request.responseText;
var JSONobject = JSON.parse(JSONtext);
// notice how variables are used
var output = JSONobject.test;
alert(output); // displays "test value"
}
function getHTTPObject(){
var xmlhttp = false;
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e) {
xmlhttp = false;
}
}
}
return xmlhttp;
}
</script>