이 특정 주제에 대한 게시물이 많지만 특별한 문제는 해결되지 않은 것으로 알고 있습니다.JQuery가 POST 요청의 결과를 수신하지 않음
입력란의 텍스트와 동일한 값을 데이터베이스에 쿼리하기 위해 jQuery의 post 메서드를 사용하고 있습니다. 반환 된 결과는 아래의 텍스트 입력 상자에 표시됩니다. 그러나 어떤 이유로 인해 게시 요청의 성공 조건이 실행되지 않습니다. 논리적으로 이것은 내 게시물 요청이나 PHP 파일에 게시 할 때 오류가 있음을 나타내므로 여기서 두 코드를 붙여 넣습니다.
JQuery와
$(document).ready(function() {
$('#title').change(function() {
var data = 'title='+$(this).val();
$.post('getinfo.php', data, function(response){
if(response.toString() == 'invalid')
{
alert('no such book title');
}
else
{
alert('book found');
}
});
return false; // required to not open the page when form is submited
});
});
info.php 얻을 파일
<?php
defined('C5_EXECUTE') or die(_("Access Denied."));
$title = $_post['title'];
$db = loader::db();
$res = $db -> Execute('select isbn from btBookList where title = ?', array($title));
if($res !=null)
{
$identifier = '';
foreach($res as $row)
{
$identifier = $row['isbn'];
}
echo json_encode($identifier);
}
else
echo 'invalid';
?>
이 때문에 콘크리트 5 PARAM의 defined('C5_EXECUTE') or die(_("Access Denied."));
및
$db = loader::db();
$res = $db -> Execute('select isbn from btBookList where title = ?', array($title));
당신은 title post 변수를 통해 SQL 삽입을 허용하고 있습니다. 귀하의 문제는 게시물의 데이터 부분에 있다고 생각됩니다. – abc123
jQuery 파일에 로컬로 또는 웹 서버를 통해 액세스하고 있습니까? (로컬로 호스팅 된 경우에도 마찬가지입니다.) 기본적으로 주소 표시 줄의 URL은 'http'또는 'file'로 시작합니까? 후자의 경우 교차 도메인 정책 파일 오류 (http://en.wikipedia.org/wiki/Same_origin_policy)가 발생할 수 있습니다. – Alfie
일치하는 행이 없으면 어떻게됩니까? $ res는 실제로 null이되거나 빈 배열입니까? Chrome, Safari 또는 Firefox 개발자 도구를 사용하여 getinfo.php 페이지에 대한 네트워크 요청/응답을 검토해 보셨습니까? – SnowInferno