まず、json_encode 関数でデータをエンコードします。
たとえば、次のようになります。
{"test":"test value"}
私がやりたいのは、テストを「テスト値」のデータを保持できるjavascript変数にすることです。
まず、json_encode 関数でデータをエンコードします。
たとえば、次のようになります。
{"test":"test value"}
私がやりたいのは、テストを「テスト値」のデータを保持できるjavascript変数にすることです。
$.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ドキュメントから直接...
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>
オブジェクトは連想配列です。キーと値のペアを格納します。したがって、あなたがしなければならないことは次のとおりです。
var test = function(){}
test["hello"] = "world";
これはhello
、変数およびworld
その値として設定されます。あなたはこれをテストすることができます
alert(test.hello);
hello
andworld
を json のキーと値に置き換えます
この例でこれがさらに役立つことを願っています: 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