저는 ajax를 처음 사용하기 때문에 모든 textbox를 업데이트 페이지없이 MySQL 데이터베이스에 제출하고 싶습니다.mySQL을 사용하여 모바일 장치에서 Ajax 요청을 만드는 방법
내가 매개 변수로 JS와 텍스트 상자의 값을 캡처 할 경우 잘 작동은 "STR"
function sendAjax(type, str)
{
var xmlhttp;
if (str=="")
{
document.getElementById("txtResp").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtResp").innerHTML=xmlhttp.responseText;
}
}
switch(type)
{
case 'search':
xmlhttp.open("GET","mysql_process_search.php?q="+str,true);
break;
case 'add':
xmlhttp.open("GET","mysql_process_event.php?q="+str,true);
break;
}
xmlhttp.send();
}
그리고 페이지 mysql_process_event.php와 ("유형"내가 사용하고 또 다른 매개 변수) 내가 사용 데스크톱 브라우저에 적절한 결과를 얻을 :
echo $_GET['q'];
$q = $_GET['q'];
$con = mysql_connect('xxx', 'xxx', 'xxx');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("xxx", $con);
$result = mysql_query("SELECT * FROM Events");
mysql_query("INSERT INTO Events (Title)
VALUES ('".$q."')");
mysql_close($con);
을하지만이 모바일 사파리 또는 모바일 안드로이드에서 작동하지 않습니다. xml.responseText 객체의 반향 응답을 캡처하여 페이지에 표시하지만 데이터베이스와 통신하지는 않습니다.
어떤 아이디어?
예 모바일 브라우저에서 문제를 찾을 수 있도록 PHP 코드를 단순화하고 싶습니다. 문제는 없다는 것입니다. 데이터베이스에서 정보를 보내거나 표시하지 않습니다. 데스크톱 브라우저에서 잘 작동합니다. – TaylorMac
@TaylorMac 좋습니다. 나를 걱정했다. 다음 생각 : 오류보고 (error_reporting (E_NOTICE);)를 시작하고 당신이 얻는 것을보십시오. 전혀 오류가 있으면 표시해야합니다. 둘째, 왜 InnerHTML을 사용하고 있는지 궁금합니다. 나는 document.getElementById ("..."). value = response를 제안 할 것이다. 셋째, 어떤 데스크톱 브라우저에서 사용해 보았습니까? 넷째, 공개 웹 호스트에 있습니까? 원한다면, 내 iDevice에서 시도해 볼 수 있고 다른 것이 발생하는지 확인할 수 있습니다. –
고마워요. 더 많은 오류보고를 허용하고 문제점을 발견했습니다. 내 HTML 개체 중 하나에 onclick = ""이 없기 때문에 모바일 사파리에서는 작동하지 않습니다. 요청이 전송되지 않았습니다. 예. innerHTML을 .value로 변경해야합니다. – TaylorMac