实现jsonp

实现

var Jsonp = {
  loadScript: function(url) {
    var script = document.createElement("script");
    script.type = "text/javascript";
    if (script.readyState) {
      script.onreadystatechange = function() {
        if (this.readyState == "loaded" || this.readyState == "complete") {
          this.onreadystatechange = null;
          document.body.removeChild(this);
        }
      };
    } else {
      script.onload = function() {
        document.body.removeChild(this);
      };
    }
    script.setAttribute('src', url);
    document.body.appendChild(script);
  },
  encodeParameters: function(parameters) {
    var params = [];
    for (parameter in parameters) {
      params.push(escape(parameter) + "=" + escape(parameters[parameter]));
    }
    return params.length > 0 ? '?' + params.join('&') : '';
  },
  request: function(url, param) {
    this.loadScript(url + this.encodeParameters(param));
  }
};

Test

Jsonp.request("http://www.baidu.com", {
  "callback": "callback",
  "t": new Date().getTime()
});