我需要使用javascript从远程php文件中检索变量。我这样做是使用phonegap,所以同样的原始政策不适用。我想我需要使用json / ajax,但我找不到任何教程告诉我如何做到这一点。
是否像在php文件中一样简单:
<?php
$var = 'stuff';
echo json_encode( $var );
?>
在我的申请中有类似的内容:
$.getJSON('mysite.com/test.php', function( data ) {
$.each( data, function( i, entry ) {
alert( entry );
});
或者这是完全错误的做法?任何帮助都会很棒,谢谢。
答案 0 :(得分:2)
所以对于初学者here are the docs on JQuery's ajax&amp; the docs for JQuery's getJSON;最后a slightly dated but decent tutorial解释了如何开始使用原始.JSON文件的基础知识。
通常在我处理JSON时,我正在与Web API进行交互;而且大多数时候他们都是RESTful api's ...创建一个比你那里复杂一点但是你的思维过程正在进行中。
这是一个工作访问点,谷歌财务股票报价api在微软上运行查询:
http://finance.google.com/finance/info?client=ig&q=MSFT
和一个json调用的例子(使用jsonp访问外部URL):
$.ajax({
url: 'http://finance.google.com/finance/info?client=ig&q=MSFT',
dataType: 'jsonp',
success: function(data){
console.log( data );
}
});
为了让事情变得更轻松,我会尝试将工作分解为两个步骤...首先获得一个接受来自您知道正在运行的API的数据(即上面的谷歌财务)...然后继续下一步尝试在php中编写自己的WebAPI的步骤(例如,假设您想要将“变量”构建到数据库中,或者比平面php文件更有用)。通过这种方式,您可以更轻松地调试,减少脱发
答案 1 :(得分:2)
我正在使用jquery和 我以前在PHP中这样做(如果使用json):
<?php
$var = 'stuff';
echo '{"var":"'.$var.'"}';
?>
它将返回json。
和ajax:
$.ajax({
url : "mysite.com/test.php",
dataType : "json",
data :"",
type : "POST",
success :
function (data){
alert(data.var);
}
});
(如果您只想从“mysite.com/test.php”获取json,则不需要ajax中的数据和类型);