MooTools中的jQuery.getJSON等价物

时间:2016-03-03 11:55:32

标签: ajax mootools mootools-events

MooTools中是否有jQuery.getJSON()个等价物?我有一个名为data.json的json文件,我希望通过使用MooTool调用data.json文件来获取其内容。可能吗?我尝试了Request.JSON()方法,但它对我没用。以下是我的代码,

var json_req = new Request.JSON({
    url:'../public_html/data/data.json',
    method: 'get',
    secure: true,
    data:{
        json: true
    },
    onSuccess: function (res){
        this.result = res;          
    },
    onFailure: function(){
        this.result = "failed";
    }
}).send(); 

同样来自http://demos111.mootools.net/我发现了一个名为Ajax()的Ajax类,他们在他们的教程中广泛使用它。但在MooTools文档中,我没有找到这个Ajax()类。我尝试通过替换我的Request.JSON()来使用Ajax(),但得到了一个未定义的#34; Ajax"错误。这个Ajax类是什么?我们如何在MooTools中使用它?

3 个答案:

答案 0 :(得分:2)

以下是您正在寻找的功能的简单示例。基本上围绕Class包装一个函数......你也可以直接使用Class。

function getJSON(url, callback) {
    new Request.JSON({
        url: url,
        onSuccess: callback
    }).send();
}

// and invoque it:
getJSON('/echo/json/', function(json) {
    console.log(json);
});

您可以在此处查看:https://jsfiddle.net/w64vo2vm/

答案 1 :(得分:0)

我有一个小功能来完成这项任务。这是代码

var configJson;

function klak_readJson(fileurl) {
  var myRequest = new Request({
    url: fileurl,
    method: 'get',
    onRequest: function(){
      console.log('loading '+fileurl+'...');
    },
    onSuccess: function(responseText) {
      console.log('received bytes '+responseText.length);
      configJson=JSON.parse(myRequest.response.text);
    }
  });
  myRequest.send();
}

调用函数将JSON对象存储到configJson

klak_readJson('/js/test.json');

希望它有所帮助。

答案 2 :(得分:0)

这个适用于我

window.addEvent('domready', function() {
    new Request.JSON({
        url: url,
        data: {'delay': 1},
        method: 'post',
        onSuccess: function(response) {
        var myJSON = JSON.encode(response)
          console.log(myJSON); 
        }
    }).send();
})

您可以在此处看到结果

http://jsfiddle.net/chetabahana/qbx9b5pm/