在jquery中调用json数据

时间:2011-03-10 01:27:49

标签: jquery ajax json mocking

我想在json本地文件中模拟数据,以后将被替换Restful webservice.But我不知道如何设置它们。我在aptana工作室使用jquery,我也熟悉mockjax(作为模拟框架) 。我在哪里将json文件放在aptana studio中?换句话说,我所知道的就是调用$ .ajax()但是我不知道在哪里放置json文件?

2 个答案:

答案 0 :(得分:2)

换句话说,您只是想在应用程序文件的根目录中使用占位符json文件进行测试?当然,没问题。

将任何.js文件放在与.html文件相同的文件夹中(暂时 - 如果需要,可以稍后移动它)。 .js文件可以包含一些简单的JSON对象:

myjson.js (从Wikipedia被盗)

{
     "firstName": "John",
     "lastName": "Smith",
     "age": 25,
     "address":
     {
         "streetAddress": "21 2nd Street",
         "city": "New York",
         "state": "NY",
         "postalCode": "10021"
     },
     "phoneNumber":
     [
         {
           "type": "home",
           "number": "212 555-1234"
         },
         {
           "type": "fax",
           "number": "646 555-4567"
         }
     ]
 }

然后,在您的HTML文件中,您将使用jQuery方便的get方法来“获取”js文件:

<强>的test.html

<html>
  <head>
    <title>Blah</title>
    <script type="text/javascript" src="jquery-1.5.1.min.js"></script>
    <script type="text/javascript">
    $(function() {
      $.get("myjson.js", function(data) {
        alert(data);
      });
    });
    </script>
  <body></body>
</html>

准备好使用真正的JSON数据后,您可以将get函数的第一个参数从'myjson.js'更改为您实际查询的任何URL。

答案 1 :(得分:0)

我通常将它放在将要使用的页面中,并将其保留在底部。你可以把它放在外部页面上由你自己决定。但是你要调用的页面,无论是php还是asp等都需要在一个单独的文件中。如果你在同一页面上使用它,它就无法工作。

这是我的意思的一个例子。

我将这些放在身体标签前面的页面底部,这样它就可以100%工作。

<script type="text/javascript">

$.get("ajax.php", { id: hash },
 function(out)
 {
    myvariable = out.myoutput;
}, "json");

</script>

并且调用文件ajax.php在一个单独的文件中并且执行我需要它做的事情并且php的输出转到out.myoutput。我可以打印这个或者将它存储在我的变量中。

让我知道我是否有意义