2014-09-12 1 views
-3

참고 : 질문에 답할 수 없거나 문제를 이해할 수 없다고해서 투표를 내려야한다고해서 투표를 내려야 만하는 것은 아닙니다. 나는 분명히 내가 더 많은 정보를 제공 할 수 있다고 말했다. 다음 Ajax를 사용하여 I의 형식은 클라이언트 측 유효성 자바 스크립트를 사용하고 설명함수를 사용하지 않고 AJAX에서 데이터를 가져 오는 방법

대한

편집 표제 처리에 대한 별도의 PHP 페이지 데이터 (3 개) 배열의 가치를 전달한다. 시작하기 전에 배열 중 하나를 사용하여 기본 쿼리를 수행하려고합니다.

아약스 요청에 따르면 작동 중이며 네트워크 탭으로 들어간 후 응답을 클릭하면 올바른 값/색인이있는 모든 배열이 표시됩니다.

그러나 PHP 쪽에서는 아무 것도 일어나지 않습니다. PHP가 다른 페이지에 있기 때문에 디버깅하는 방법을 모르겠습니다. 나는 이것도 내 일을 가지고 있기 때문에 이것은 내 구문과 관련이 있다고 가정하고 있지만, 나는 함수에서 ajax를 사용했다. 나는 아약스에 대해 매우 익숙하다. 그래서 내가 제대로하고 있는지 확신 할 수 없다. 페이지에서 유효한 $wpdb 쿼리를 시도했지만 아무 반응이 없습니다. Ajax와 함께 작동하도록 PHP 페이지를 올바르게 구조화하려면 어떻게해야합니까? 어떤 식 으로든 AJAX가 실행되면 PHP를 디버깅 할 수 있습니까?

추가 정보가 필요하면 알려주십시오.

AJAX의 CALL :

$.ajax({ 
type: "POST", 
url: "?page_id=251", 
data: { vData: videoData, tsData: tsValues, dData: tsDescriptions}, 
success: function(){ 
$("#errorMessage").text("ajax success."); 
}}); 

페이지 ID = 251 (PHP 페이지)

<?php 
$videoData = $_POST['vData']; // i have also tried $_GET['vData']; 
$vSRC = $videoData[0];$vTIT = $videoData[1];$vDES = $videoData[2];$vPDF = $videoData[3];$vDAT = $videoData[4]; 
$uID = get_current_user_id(); 

global $wpdb; 

$wpdb->insert($wpdb->prefix."uservideo", array(
       "user_id" => $uID, 
       "video_src" => $vSRC, 
       "video_title" => $vTIT, 
       "video_description" => $vDES, 
       "pdf_file" => $vPDF, 
       "video_date" => $vDAT 
      )); 

?> 
+0

귀하의 URL은'? 페이지 ID = 251' 말한다. 이것이 index.php/index.html에 게시되고 GET/POST 요청의 이상한 조합을 수행한다는 것을 알고 있습니까? 나는 이것이 당신이 원하는 것이라고 생각하지 않습니다. 당신은 아마 실제 파일을 참조하려고합니다 ... –

+0

나는 permalinks 페이지를 wordpress를 사용하고 있습니다. 그것은 유효한 로컬, 내가 너무 그것을 변경하는 경우 :? page_id = fkdjkfhdsfk, 아약스 작동하지 않습니다. 내 다른 아약스 호출에서 동일한 구문을 사용하고 작동합니다. 이제는 PHP가 아약스 데이터로 작동하지 않는 함수를 사용하고 있지 않습니다. – user3753569

+0

Ajax를 올바르게 구현하지 못했습니다. WordPress가 권장하는 것이 아닙니다. [Ajax 소개] (http://codex.wordpress.org/AJAX)를 읽거나 [플러그인의 Ajax (여기서는 단어 플러그인 무시)] (http://codex.wordpress.org/)로 이동해야합니다. AJAX_in_Plugins) –

답변

0

나는이 문제에 대한 해결책을 발견했다. ajax를 사용하여 함수를 호출해야하는데 페이지를 호출 할 수 없습니다. 나는 당신이 단지 페이지를 부를 수 있다고 확신하지만 아무도 분명히 어떻게 알고 있는지 모른다.

는 AJAX

<script type="text/javascript"> 
    function insert_data(vidData,timesData,descData){ 
     $.ajax({ 
      url: '?page_id=251', 
      type: 'POST', 
      data: {action: 'insert_video', vData: vidData, tsData: timesData, dData: descData }, 
      dataType: 'json', 
      success: function(response){ 
      alert('dhsdhjsdjhsjhdjhsd'); 
      } 
     }); 
    } 
</script> 

PHP

<?php 
function insert_video($videoData,$tsValue,$tsDesc){ 
$videoData = $_POST['vData']; 
$vSRC = $videoData[0];$vTIT = $videoData[1];$vDES = $videoData[2];$vPDF = $videoData[3];$vDAT = $videoData[4]; 
$tsValue = $_POST['tsData']; 
$tsDesc = $_POST['dData']; 
$uID = get_current_user_id(); 

global $wpdb; 

$wpdb->insert($wpdb->prefix."uservideo", array(
       "user_id" => $uID, 
       "video_src" => $vSRC, 
       "video_title" => $vTIT, 
       "video_description" => $vDES, 
       "pdf_file" => $vPDF, 
       "video_date" => $vDAT 
      )); 
} 
echo insert_video($_POST['vData'], $_POST['tsData'], $_POST['dData']); 
?> 
+0

왜'action : 'insert_video'' 데이터가 추가 되었습니까? 이것은 문서에 기록 된 것입니다. 'action' 데이터도 게시해야합니다. PHP 측에서 동일한'action' 값 메소드를 사용합니다. –

+0

동작 : 호출 할 함수를 지정하는 데 사용됩니다. 그리고 내가 WP 아약스 또는 정상적인 AJAX를 사용하더라도 상관 없습니다. 함수를 사용하지 않고 페이지를 호출하려고하지만 Ajax로 그렇게 할 수 있다고 생각하지 않습니다. – user3753569

관련 문제