2016-11-20 2 views
1

JavaScriptВойти в Кордову, используя phpmysql

<script type="text/javascript"> 
$(document).ready(function() 
{ 
$("#insert").click(function(){ 
var email=$("#email").val(); 
var pass=$("#pass").val(); 
var dataString="email="+email+"&pass="+pass+"&insert="; 
if($.trim(email).length>0 & $.trim(pass).length>0) 
{ 
$.ajax({ 
type: "POST", 
url:"http://www.gaurav2444.5gbfree.com/login.php", 
data: dataString, 
crossDomain: true, 
cache: false, 
beforeSend: function(){ $("#insert").val('Connecting...');}, 
success: function(data){ 
if(data=="success") 
{ 
alert("successful"); 
localStorage.login="true"; 
localStorage.email=email; 
window.location.href = "index.html"; 
} 
else if(data=="error") 
{ 
alert("error"); 
$("#insert").val('Login'); 
} 
} 
}); 
}return false; 
}); 
}); 
</script> 

Php: login.php

<?php 
include "db.php"; 
if(isset($_POST['insert'])) 
    { 
$email=$_POST['email']; 
$pass=$_POST['pass']; 
$sql = "SELECT * from `course_details` where `email`='$email' and `pass`='$pass'"; 
$result = mysqli_query($con, $sql); 

if (mysqli_num_rows($result) > 0) 
{ 
echo "success"; 
} 
else 
{ 
    echo "error"; 
} 
} 
?> 

db.php

<?php 
header("Access-Control-Allow-Origin: *"); 
$con = mysqli_connect("localhost:3306","","","gaurav_sos") or die ("could not connect database"); 
?> 

Программа хорошо работает на XAMPP сервере, но когда PHP файлы и база данных размещена, она не работает на приложении cordova. Например, когда логин и пароль вводятся на странице входа в систему, файлы whwn находятся на сервере xampp, он работает отлично, но когда php-файлы и база данных размещаются, а php-файлы вызывается из приложения cordova, это не дает никакого результата. LoginID: [email protected] пароль: 123

+0

Посмотрите на журнал сервера! – ventiseis

ответ

1

... И это нормальное поведение для кросс-доменных запросов AJAX - это не matther, что вы вручную установить заголовок Access-Control-Allow-Origin.

Для того, чтобы ваш код работать, вы должны использовать какой-то прокси-сервер, потому что CORS policy запретить AJAX запросы (потому что они нарушают same-origin security policy), таким образом, вы можете сделать кросс-доменные AJAX запросы на доступ к ресурсам от третьего лица сайты, когда невозможно включить CORS на целевом веб-сайте, т.е. когда вы не являетесь владельцем, что веб-сайт.

Например, вы можете позвонить по телефону PHP cross-domain proxy через AJAX, после чего он перенаправляет ваш запрос на реальный сервер.

Простой код модификации с помощью PHP междоменное прокси-библиотека:

$.ajax({ 
    type: "POST", 
    url:"proxy.php", //This is where PHP cross-domain proxy is located 
    csurl: "http://www.gaurav2444.5gbfree.com/login.php" //Your remote server 
    }); 
Смежные вопросы