나는 지금 며칠 동안 붙어있는 문제가 있습니다 ... 간단한 ajaxPOST 함수를 사용하여 데이터를 MySQL 데이터베이스 (WP 데이터베이스가 아님)로 보내려고합니다.
이 코드는 모든 게시물 전에 확인해야하므로 테마의 "single-post.php"내에 있습니다.
$.ajax({ url: 'library/functions/admin_checkuser.php',
data: {action: userID},
type: 'post',
success: function(output) {
alert(output);
}
});
저는 단순히 "admin_checkuser.php"스크립트에 변수를 보내고 데이터베이스에서 작업을 수행하는 다른 스크립트를 호출합니다.
다음은 "admin_checkuser"의 코드입니다.
$userid = $_POST['action'];
echo $userid;//for testing
$oMySQL = new MySQL();
$query = "Select * FROM videotable WHERE uid = '$userid'";
$oMySQL->ExecuteSQL($query);
$bb = $oMySQL->iRecords;
$aa = $oMySQL->aResult;
echo $bb;
if ($bb == 0){
$query = "INSERT INTO videotable VALUES ('','$userid','true')";
$oMySQL->ExecuteSQL($query);
echo 'true';
exit();
}else{
$sharing = mysql_result($aa,0,"share");
echo $sharing;
exit();
}
그러나 나는 호출이 대본을 거치지 않는다고 생각합니다. These scripts where tested outside of WordPress and did work, so it must be something in WordPress that blocking the ajax call. BTW, 나는 많은 다른 폴더에 "admin check user.php"를 배치하려고 시도했지만 아무것도 작동하지 않았습니다.
미리 감사드립니다.
해결 방법
ajax 호출에 대한 URL을 확인해야합니다.
상대 URL 대신 전체 URL을 사용할 수 있습니다.
테마의 위치로 인해 URL이 잘못되었을 수 있습니다. ajax 코드가 테마 폴더에 있다고 가정합니다.
테마 디렉토리를 가져 오는 일부 워드 프레스 기능이 있습니다.
예를 들어 http : // yourwebpage / test /
페이지에있는 경우 ajax 호출은 여기 http : //yourwebpage/test/library/functions/admin_checkuser.php
. 이것은 잘못된 위치라고 가정합니다.
이것이 스크립트에 절대 URL을 추가해야하는 이유입니다. 테마에있는 경우이 메서드 get_template_directory_uri ()
를 사용하여 템플릿 디렉토리를 가져올 수 있습니다.
참조 페이지 https://stackoverflow.com/questions/10589018
'MySql' 카테고리의 다른 글
MySQL 라이센스 시스템 생성 (0) | 2021.02.11 |
---|---|
MySQL Ubuntu 12.04-RubyOnRails-gem install mysql2가 설치되는 것 같지만 설치하면 실패합니다 : gem mysql2-Unknown command mysql2 (0) | 2021.02.11 |
MySQL in 매개 변수를 사용하여 PHP 호출 mysql 저장 프로 시저 (0) | 2021.02.11 |
MySQL 데이터베이스에 IP 주소 저장 (IPv4 및 IPv6) (0) | 2021.02.11 |
MySQL sql_mode의 특정 값을 어떻게 볼 수 있습니까? (0) | 2021.02.11 |
댓글