用 dojo/request/script 玩垮域

dojo/request/script 可以用于向服务器发送跨域请求,如JSONP等。但单看官方文档有点不容易理解,特将体会记录。

require(["dojo/request/script"], function(script){
  script.get("something.js", {
    jsonp: "callback"
  }).then(function(data){  // on_success
    // Do something with the response data
  }, function(err){      // on_error
    // Handle the error condition
  });
  // Progress events are not supported
})

script.get( url, option );
其中option字段有:
  checkString : "someString",  // 服务器返回一段JS代码定义了一个变量 someString,浏览器以判断是否定义了该变量来判定是否成功执行。on_success里面不传送data.
  jsonp    : "cb_name",    // 浏览器发送类似于?cb_name=dojo_request_script_callbacks.dojo_request_script0的字段给服务器,
                    // 服务器返回dojo_request_script_callbacks.dojo_request_script0(...)的调用语句供浏览器执行,调用参数则作为 on_success的data. 如果需要执行该
                    // 调用,则在 on_success 里面自己手工调用,爱干嘛干嘛。
  query    : "somestring" or objcect,  // 浏览器发送相应parameter给服务器,服务器返回的语句均被 eval,但是on_success里面不送 data.
  其它两个字段 timeOut, preventCache 容易理解。
  
posted @ 2015-01-10 10:28  Mr.Coder  阅读(530)  评论(0编辑  收藏  举报