<SCRIPT type = "text/JavaScript"> $ (function () {// login $. ajaxsetup ({async: false}); $ ('# loginbtn '). click (function () {login () ;}); function login. getjson ('<% = renderresponse. encodeurl (loginurl. tostring () %> ', function (data) {alert (data. result) ;}) ;}</SCRIPT>
Function login () {$. ajax ({type: "Post", URL: "<% = renderresponse. encodeurl (loginurl. tostring () %> ", datatype:" JSON ", async: false, success: function (data) {alert (data. result) ;}, error: function (XMLHttpRequest, textstatus, errorthrown) {alert ("network connection error! "); Alert (XMLHttpRequest. status); alert (XMLHttpRequest. readystate); alert (textstatus); Return false ;}});}
In the Ajax operation just add
Async: false,
After
Datatype: "JSON ",
And that shoshould solve your problem. Chrome has issue handling asynchronus CILS.
--------------------------------------------------------------------
You can also use the following before making your call:
$.ajaxSetup( { "async": false } );
I do not know the scope of the "async" property, I suspect that it is a global config. So consider whether you want to change this back to true after your synchronous call.
Example:
3rdPartyObject.getCustomValue = function { $.ajaxSetup( { "async": false } ); var result = $.getJSON('myUrl'); $.ajaxSetup( { "async": true } ); return result;}
Resourceresponse. setcontenttype ("application/JSON; charset = UTF-8 ");
Resourceresponse. getwriter (). Print ("{\" Result \ ": \" OK \"}");