1 | var Request = require('./Request');
|
2 | var constants = require('../shared/constants');
|
3 | var inherits = require('../shared/inherits');
|
4 | var handleOptions = require('../shared/handleOptions');
|
5 | var callRequestCreatedCallback = require('../shared/callRequestCreatedCallback');
|
6 | var addEventListeners = require('../jsonp/addEventListeners');
|
7 | var buildCallbackName = require('../jsonp/buildCallbackName');
|
8 | var buildScriptSrc = require('../jsonp/buildScriptSrc');
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 | function JSONPRequest(options, onsuccess, onerror) {
|
20 | var src;
|
21 | var script;
|
22 | var callbackName;
|
23 | var containerNode;
|
24 |
|
25 | Request.call(this, constants.JSONP_REQUEST, options, onsuccess, onerror);
|
26 |
|
27 |
|
28 | handleOptions(options);
|
29 |
|
30 | script = this.script = options.createScript.call(null, options);
|
31 | containerNode = options.jsonpContainerNode.call(null, options);
|
32 | callbackName = buildCallbackName(options);
|
33 | src = buildScriptSrc(options, callbackName);
|
34 |
|
35 |
|
36 | script.setAttribute('src', src);
|
37 |
|
38 |
|
39 | addEventListeners(this, callbackName);
|
40 |
|
41 |
|
42 | containerNode.appendChild(script);
|
43 |
|
44 |
|
45 | callRequestCreatedCallback(options, this);
|
46 | }
|
47 |
|
48 | inherits(JSONPRequest, Request);
|
49 |
|
50 | module.exports = JSONPRequest;
|