사용자가 웹 페이지의 단추를 클릭하면 서버의 파일을 편집하려고합니다. php를 사용하여 버튼 테이블을 생성합니다. STRING1, STRING2 및 BOOL은 함수에 전달하는 변수입니다. 내가 만든 editPlist() 함수가 호출되고 테스트 경고()가 표시됩니다. 문제는 php 파일이 실행된다는 것입니다. 어떤 오류도 발생하지 않습니다. 나는 틀린 것을 알아낼 수 없다.AJAX를 사용하여 PHP 파일 실행 및 매개 변수 보내기
샘플 HTML 버튼 :
<a href="#" onclick="editPlist('STRING1', 'STRING2', 'BOOL')" class="buttong">1 : Round 1</a>
버튼 클릭이 스크립트 실행 : (. URL이 라인에서 PHP 내가 실행하고자하는 파일의 주소를 생성)를
<script type='text/javascript'>
function editPlist(stage, dance, oldValue)
{
alert('test ' + stage + dance + oldValue);
$.ajax({
type: "POST",
url: <?php echo '"'.dirname(curPageURL()).'/PlistEditorFunction.php"' ?>,
data: {"var1" : stage , "var2" : dance , "var3" : oldValue},
success: function(msg){
alert("Data Saved: " + msg); //Anything you want
}
});
}
외부 PHP 파일 PlistEditorFunction.php에서 가짜 오류를 기록하고 변수를로드하려고 시도하지만 오류가 표시되지 않습니다.
$msg = 'test error message';
error_log('['.date("F j, Y, g:i a e O").']'.$msg."<br /> \n", 3, $phperrorPath);
if (isset($_POST['data']) and trim($_POST['data']) != '') {
$stage = trim($_POST['var1']);
$dance = trim($_POST['var2'])
$oldValue = trim($_POST['var3']);
}
나는 도메인 이름이 아약스가에서 실행되는 파일과 일치하는 경우, PHP 스크립트는 실행 것이라는 점을 알고있다 :이 PHP 파일의 시작입니다. 두 파일은 서로 옆에 있으므로 문제가 아님을 알고 있습니다.
이 문제를 해결하려면 어떻게해야합니까?
Chrome 개발자 도구 또는 Firebug로 아약스 요청을보고 계신가요? 귀하는 귀하의 Ajax 요청이 올바르게 전송되고 있는지 확인하고 그런 식으로 전체 응답을 볼 수 있습니다. 크롬을 사용하여 개발자 도구를 열고 네트워크 창으로 이동하십시오. 그런 다음 yor 웹 페이지의 단추를 클릭하고 네트워크 분할 창에서 새 항목을보십시오. – mwotton
감사합니다. 이제 스크립트가 올바르게 작동하고 업데이트됩니다! –