Разработка приложения на phonegap, установленного на локальной машине. Все работает на локальном хосте, а также когда я запускаю его как веб-сайт на веб-хосте для целей тестирования (1freehosting).
Однако, когда я пытаюсь просто получить доступ к php-скрипту, чтобы он мог запросить mysql db и вернуть результаты в виде responsetext (в формате html + php Results), результаты не очень хорошие.
Вот мой код:
function getData(oFormElement){
//alert(oFormElement);
if (oFormElement == "") {
document.getElementById("txtHint").innerHTML = "";
return;
} else {
//alert(4);
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp.onload = function(e) {
e.preventDefault();
alert(xmlhttp.readyState);
alert(xmlhttp.status);
if (xmlhttp.readyState < 4) {
//alert(6);
document.getElementById("txtHint").innerHTML = "loading..............";
}
else if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
alert(5);
alert(xmlhttp.responseText);
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("post","http://www.website.com/get_data.php",false);
xmlhttp.setRequestHeader("Content-type","multipart/form-data");
xmlhttp.send(new FormData(oFormElement));
return false;
}
}
</script>
<form method="post" enctype="multipart/form-data">
<br>
Category:<br>
<select name="Category" id="Category" onchange="change(this.id);">
<option value="item1">item1</option>
<option value="item2">item2</option>
</select>
<br>
Sub Category:<br>
<select name="SubC" id="SubC" >
<option value="">Please select a Sub Category</option>
</select>
<br>
Chose your Area:<br>
<select name="Area" id="Area">
<option value="">Please select an Area</option>
</select>
<br>
<input class="button" id="button" value="Discountz" type="button" onclick="return getData(this);" >
</form>
<div id="txtHint">
</div>
Мой PHP-код:
<!DOCTYPE html>
<html>
<head>
<style>
</style>
</head>
<body>
<?php
require_once __DIR__ . '/dbconfig_d.php';
//echo $_POST["Category"];
$db = mysqli_connect(DB_SERVR,DB_USER,DB_PASSWORD,DB_DATABASE) or die(mysql_error());
if(isset($_POST["item1"]) && isset($_POST["item2"]) && isset($_POST["item3"])){
$item1 = $_POST["item1"];
$item2 = $_POST["item2"];
$item3 = $_POST["item3"];
$result = mysqli_query($db,"select * from table_1 where item1 = '$item1' and item2 = '$item2' and Area = '$item3'")
or die(mysqli_error($db));
if(mysqli_num_rows($result)>0){
while($row = mysqli_fetch_array($result)){
echo "<table>";
echo "<tr> ";
echo "<col style='width:30%;'><col style='width:70%;'>";
echo "<td>" . $row["item1"] . " in " ."<br>". $row["item2"] . "</td>";
echo "<td>" . $row["item4"]. "</td>";
echo "</tr>";
echo "</a>";
}
echo "</table>";
mysqli_close($db);
}}
?>
</body>
</html>
Сначала я получал только HTML-код в тексте ответа. позже я создал .htaccess и поместил «AddType application / x-httpd-php5 .htm .html .php». После этого я получаю только PHP-код в тексте ответа, но не выполняется результат.
Я проверил много постов и основываясь на тех добавленных заголовках / htaccess, которые помогли по крайней мере получить текст ответа.
Пожалуйста, помогите.
Вы также можете игнорировать имена полей и т.д., так как я изменил их для размещения здесь.
Задача ещё не решена.
Других решений пока нет …