lilmer Posted March 10, 2014 Share Posted March 10, 2014 Hello good day, I have a problem running an HTML5 mobile app. I am using Intel XDK as an IDE to build an android mobile application, on my desktop simulator of Intel XDK, AJAX call are working fine but when I to run the app on my mobile device using USB debugger ajax call is not working, it gives me an error of XMLHttpRequest cannot load https://www.site.com/index.php?mobile/loginauthenticate. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'file://' is therefore not allowed access. on my server side code I already put header('Access-Control-Allow-Origin', "*"); as it is needed to accept data from cross browsing, but still I get the same error, anyone that knows what did I done wrong ?Here's my ajax request code: var URL = 'https://www.site.com/index.php?mobile/'; $.ajax({ type:"POST", url:URL+'loginauthenticate', data:{email:email,password:password}, dataType:'json', beforeSend: function(){ $.ui.showMask('Logging in...'); } }).success(function(data){ var object = data; if(object.result === 'yes'){ $.ui.manageHistory=false; sessionToken = object.sessionToken; logged = true; localStorage.setItem('sessionToken',sessionToken); localStorage.setItem('logged',true); localStorage.setItem('email',email); $.ui.hideMask(); //$.ui.loadContent("#account_page"); processAccount(sessionToken); }else{ $.ui.hideMask(); alert(data.error); } console.log(object); }).error(function(xhr, status, error){ $.ui.hideMask(); console.log(xhr); console.log(status); console.log(xhr); }); Thanks Link to comment https://forums.phpfreaks.com/topic/286847-access-control-allow-origin/ Share on other sites More sharing options...
requinix Posted March 10, 2014 Share Posted March 10, 2014 How about posting the PHP code? Link to comment https://forums.phpfreaks.com/topic/286847-access-control-allow-origin/#findComment-1472051 Share on other sites More sharing options...
lilmer Posted March 12, 2014 Author Share Posted March 12, 2014 public function cors(){ // Allow from any origin if (isset($_SERVER['HTTP_ORIGIN'])) { header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Max-Age: 86400'); // cache for 1 day } // Access-Control headers are received during OPTIONS requests if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); exit(0); } } public function loginauthenticate(){ $this->cors(); header('Access-Control-Allow-Origin', "*"); } I did not include the authentication function for validating the POST request. I think the problem is when trying to request on that URL. Link to comment https://forums.phpfreaks.com/topic/286847-access-control-allow-origin/#findComment-1472251 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.