Intereting Posts

Разработка страницы входа в Phonegap с использованием Ajax и на сервере MySQL

Я уже несколько дней застал эту проблему. Я использовал группу технологий веб-разработки Ajax для вызова php-файла с сервера. Похоже, что метод успеха не назывался. Вот мой код:

function handleLogin() { var form = $("#loginForm"); //disable the button so we can't resubmit while we wait //$("#submitButton",form).attr("disabled","disabled"); var e = $("#email", form).val(); var p = $("#password", form).val(); console.log("click"); if(e != "" && p != "") { //var str = form.serialize(); //alert(str); $.ajax({ type: 'POST', url: 'http://prefoparty.com/login.php', crossDomain: true, data: {email: e, password :p}, dataType: 'json', async: false, success: function (response){ alert ("response"); if (response.success) { alert("you're logged in"); window.localStorage["email"] = e; window.localStorage["password"] = md5(p); //window.localStorage["UID"] = data.uid; window.location.replace(main.html); } else { alert("Your login failed"); //window.location("main.html"); } }, error: function(error){ //alert(response.success); alert('Could not connect to the database' + error); window.location = "main.html"; } }); } else { //if the email and password is empty alert("You must enter email and password"); } return false; } 

В php я использовал типичный MySQL-вызов и запускаю этот файл из браузера Google Chrome. Он правильно вернул JSON. Вот мой php:

  <?php require_once('includes/configinc.php'); $link = mysql_connect(DB_HOSTNAME, DB_USERNAME,DB_PASSWORD) or die("Could not connect to host."); mysql_select_db(DB_DATABASE, $link) or die("Could not find database."); $uname = $_POST['email']; $password = $_POST['password']; $sql = "SELECT * FROM User_Profile WHERE Email = '$uname' AND Password = 'md5($password)'"; $result=mysql_query($sql); $num_row = mysql_num_rows($sql); $row=mysql_fetch_array($result); if (is_object($result) && $result->num_rows == 1) { $response['success'] = true; } else { $response['success'] = false; } echo json_encode($response); //echo 'OK'; ?> 

Пожалуйста, проверьте мой код и укажите, где я ошибся.

Спасибо всем заранее 🙂

Добавление

  header("access-control-allow-origin: *") 

к верхней части вашей страницы PHP решит вашу проблему доступа к запросу перекрестного домена