搬砖仔

  • {{ item.name }}
  • 语法:
  • 参数:
  • 可选项:
  • 首页
  • 作品
  • 代码
  • GO
  • 随笔
  • 关于博主
  • 友情链接
  • 文章归档
  • 榜上有名
  • Mail
  • GitHub

Onex ecstore中如何调用发起Ajax请求

  • 小酱沫
  • 2016-10-07
  • 0

Ecstore的JS框架使用了mootools,所以ajax调用也使用mootools中的Request组件。

语法:


var myRequest = new Request([options]);

参数:

options – (object, 可选) 参见下列可选项

可选项:

  • url – (string: 默认为 null) 请求的目标URL
  • method – (string: 默认为 ‘post’) HTTP请求方法, 可以是: ‘post’ 或 ‘get’
  • data – (string: 默认为 ”) 为Request:send方法提供的默认请求参数
  • async – (boolean: 默认为 true) 如果为false, 则请求将以同步方式进行
  • encoding – (string: 默认为 “utf-8″) 请求的编码方式
  • link – (string: 默认为 ignore) 可以为’ignore’, ‘cancel’ 或 ‘chain’
    • ‘ignore’ – 当请求正在执行之中时,新的请求将被忽略
    • ‘cancel’ – 当请求正在执行之中时,将立即取消当前执行中的请求,开始执行新的请求
    • ‘chain’ – 当请求正在执行之中时,将会把新的请求链接在当前请求之后,依次执行所有请求
  • headers – (object) 请求头数据
  • isSuccess – (function) 可覆盖内置的isSuccess函数,可自定义请求成功的规则

看ecstore中的一个例子:


new Request({url:'index.php?app=b2c&ctl=admin_specification&act=check_spec_value_id',
        onSuccess:function(re){
              if(re=='can'){
                  row.remove();
              }else{
                  MessageBox.error(re);
              }
        }
}).post('spec_value_id='+encodeURIComponent(specvid));

onSuccess是在ajax调用成功后返回,参数是响应内容ResponseText

Request还有两个扩展类:
Request.HTML 专门用于响应内容为HTML的请求,重要的参数有:
update – (element: 默认为 null) 请求响应的responseText要插入的目标元素
evalScripts – (boolean: 默认为 true) 如果为true, 则响应内容中script标签中的脚本内容将被执行
evalResponse – (boolean: 默认为 false) 如果为true, 则整个响应内容将被作为脚本来执行

Request.JSON 专门用于发送和接收JSON格式数据的请求,这里ajax调用后将返回一个json对像
示例:

var jsonRequest = new Request.JSON({
    url: "http://site.com/tellMeAge.php",
    onComplete: function(person, text){
        alert(person.age);    //显示 "25 years".
        alert(person.height); //显示 "170 cm".
        alert(person.weight); //显示 "120 kg".
    }
}).get({
    'firstName': 'John',
    'lastName': 'Doe'
});
© 2023 搬砖仔
Theme by Wing
沪ICP备2021031606号-1 沪公网安备31010402004615号