| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26-27--28 29---30 31--32 33 34 35 36 37 38-39 40 41 42 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 5, 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 11 9 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148-149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
function Prescript (s) {if (S.cache = = undefined) {S.cache = false;} if (S.crossdomain) {s.type = ' get ';} & nbsp function Prejsonp (s, originalsettings, JQXHR) {//to the callback function named var callbackname = S.jsonpcallback S.url + = (/(?:) /.test (S.url)? "&": "?" + S.jsonp + "=" + callbackname; Using a data converter to retrieve JSON//supplied to the code fetch server after the execution of the script is S.getdata = function () {if (!responsecontainer) {jquery.error (Callbackname + "W As not called "); return responsecontainer[0]; }; Modify the processing mechanism s.datatypes[0] = "JSON"; Create a global function overwritten = Window[callbackname]; Used to collect server-given data window[callbackname] = function () {responsecontainer = arguments;}; return "script"; /** * JSONP pre-processing/function Inspectprefiltersortransportsa (options, Originaloptions, JQXHR) {//preprocessing JSONP var dat Atypeortransport = Prejsonp (options, Originaloptions, JQXHR)//Extension Datatypes options.dataTypes.unshift ( Datatypeortransport); Preprocessing script type Prescript (options)} /** * Distributor * @return {[type]} [description]*/function INSPECTPREFILTERSORTRANSPORTSB (S, originaloptions, JQXHR) {return {Send:function (_, complete) {var script = JQuery ("<script>"). Prop ({async:true, Charset:s.scriptcharset, Src:s.url}). On ("Load Error", callback = Functi On (evt) {script.remove (); callback = null; if (EVT) {Complete ()}}); <script async= "" src= "http://192.168.1.113:8080/github/jQuery/jsonp.php Document.head.appendChild (script[0)) ; JSONP Request * @param {[type]} options [description] * @return {[type]} [description]/function CR//** * to simulate Ajax Eateajax (options) { if (typeof url = = "Object") {options = URL; url = undefined;} options = Options | | {}; /** * parameter * jquery.ajaxsetup is the default parameter * @type {[type]}/var s = Jquery.ajaxsetup ({}, Options); //Deferreds//asynchronous mechanism var deferred = jquery.deferred (); var completedeferred = jquery.callbacks ("Once Memory"); /** * Actual return of Ajax object * @type {Object} */var jqxhr = {} //Convert JQXHR object to Promise object, add complete, suCcess, Error method Deferred.promise (JQXHR). Complete = Completedeferred.add; Alias jqxhr.success = Jqxhr.done; Jqxhr.error = Jqxhr.fail; S.datatypes = Jquery.trim (S.datatype | | "*"). toLowerCase (). Match (/(?:) /) || [""]; //pretreatment of Inspectprefiltersortransportsa (S, options, JQXHR); for (i in {success:1, error:1, complete:1}) {Jqxhr[i] (s[i);} /** * Distributor/transport = Inspectprefilt ERSORTRANSPORTSB (S, options, JQXHR); function done (status, Nativestatustext, responses, headers) {Console.log (S,s.getdata ())} //Send request Transport . Send (S, done); return JQXHR; } function show (data) {$ (' body '). Append (' <li> ' + data + ' </li> ');} /** * Data callback receive * @return {[Type]} [Description]/function Flighthandler () { } $ ("#test"). Click (function () {///execute an Asynchronous HTTP (Ajax) request. var ajax = createajax ({url: ' http://192.168.1.113:8080/github/jQuery/jsonp.php ', data: {' action ': ' Aaron '},///the array D of the pre-argument Atatype: ' Jsonp ',//data type JSONP: ' CAllback ',//Specify callback function name, consistent with server-side reception, and return Jsonpcallback:flighthandler, Success:function () {Show (' Local event Success ')}}) |