3

我需要使用 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 );
                           });

或者这完全是错误的方法?任何帮助都会很棒,谢谢。

4

2 回答 2

2

我正在使用 jquery,我曾经在我的 PHP 中这样做(如果使用 json):

<?php
$var = 'stuff';
echo '{"var":"'.$var.'"}';
?>

它会返回一个json。

和阿贾克斯:

$.ajax({
url : "mysite.com/test.php",
dataType : "json",
data :"",
type : "POST",
success : 
function (data){
alert(data.var);
}
});

(如果您只想从“mysite.com/test.php”获取 json,则不需要 ajax 中的数据和类型);

于 2013-10-11T01:43:59.997 回答
2

所以对于初学者来说,这里是关于 JQuery 的 ajax的文档 和JQuery 的 getJSON 的文档;最后是一个稍微过时但不错的教程,解释了如何开始使用原始 .JSON 文件的基础知识。

通常,当我处理 JSON 时,我正在与 Web API 交互;并且大多数时候它们是 RESTful api 的......创建一个比你在那里的稍微复杂一些,但你的思维过程正在走上正轨。

这是在微软上运行查询的谷歌金融股票报价 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 文件更有用的东西)。这样你可以更轻松地调试,减少脱发

于 2013-10-11T01:37:28.487 回答