2012-07-03 2 views
1

jQuery와 ajax를 사용하여 데이터를 텍스트 파일에 저장하는 PHP 스크립트에 일부 데이터를 게시하는 온라인 실험을 프로그래밍하려고하는데 문제가있다. 이 스크립트는 내가 게시하는 데이터가 작고 (2kb라고 말하면서) 게시 된 데이터를 올바르게 저장할 수 있지만 게시물의 데이터가 4KB 이상이되면 대신 404 오류가 발생하고 PHP 스크립트가 실행되지 않습니다. 모두 (데이터가 파일로 저장되지 않음) 매우 이상합니다.PHP 스크립트에 jQuery Ajax post가 404 오류를 준다.

experiment.js :

$.ajax({ 
    url: 'snippets/saveData.php', 
    data: {"time": time, "experimentStimuli": experimentStimuli, "experimentPredictions": experimentPredictions, "experimentPredictionsEnd": experimentPredictionsEnd}, 
    type: 'POST' 
    }); 

saveData.php : 여기에 관련 자바 스크립트와 PHP 코드는 내가 상대 한 대신 절대 URL을 사용하여 시도했지만이 있습니다

$_SESSION['user']['experimentStimuli'] = $_POST['experimentStimuli']; 
$_SESSION['user']['experimentPredictions'] = $_POST['experimentPredictions']; 
$_SESSION['user']['experimentPredictionsEnd'] = $_POST['experimentPredictionsEnd']; 

foreach($_SESSION['user']['experimentStimuli'] as $key => $value) { 
    foreach($value as $key2 => $value2) { 
    fwrite($fh, $value2); 
    } 
    fwrite($fh, "\n"); 
} 

foreach($_SESSION['user']['experimentPredictions'] as $key => $value) { 
    foreach($value as $key2 => $value2) { 
    fwrite($fh, $value2); 
    } 
    fwrite($fh, "\n"); 
} 

foreach($_SESSION['user']['experimentPredictionsEnd'] as $key => $value) { 
    foreach($value as $key2 => $value2) { 
    fwrite($fh, $value2); 
    } 
    fwrite($fh, "\n"); 
} 

차이점이 없다. (상대 URL은 작은 데이터에서도 잘 작동한다.) 또한 헤더 ('HTTP/1.1 200 OK')를 넣으려고했다. 내 PHP 스크립트 맨 위에 있지만이 중 하나가 작동하지 않는 것. 내 웹 사이트의 기반은 Wordpress이지만, 나의 실험 코드는 Wordpress와는 별개이며 Wordpress 기능은 필요 없지만 표시되는 404 오류 페이지는 Wordpress 404 페이지입니다. 나는 Wordpress가 어떻게 든 (지역에서도 잘 작동하기 때문에) 간섭을 일으킬 수 있다고 생각하지만, 그것을 고칠 방법이 확실치 않습니다. 어떤 아이디어? 워드 프레스에

+0

404.its 파일을 찾을 수없는 경우. – Dgo

+0

U 방화범을 피우고 있습니까? – Dgo

+0

이것은 아마도 .htaccess가 URL을 URLPress로 리디렉션하여 URL을 의미있는 것으로 처리하는 방법을 알지 못하기 때문에 발생합니다. WordPress에 대한 지식을 가진 사람과 .htaccess 파일을 제어하는 ​​방법을 통해 도움이 될 수 있습니다. – h00ligan

답변

0

아약스는 조금 다르게 처리되어, 여기 읽어 보시기 바랍니다 : http://codex.wordpress.org/AJAX_in_Plugins이 이 문서는 쉽게 관리자 모두, 워드 프레스에서 AJAX를 사용하는 방법이었다에서 설명 할 것이다 - 엔드 또한 사용자에 대해 - 끝. "Ajax 플러그인"()이라고해도 실제로는 wordpress에서 Ajax를 처리하는 가장 쉬운 방법을 설명합니다.

0

다음에 대한 php.ini 파일을 확인하시기 바랍니다 :

  • post_max_size
  • memory_limit

그 중 하나가 4킬로바이트의 제한이있는 경우, 귀하의 게시물 요청이 실패합니다. 여기서 memory_limitpost_max_size 이상의 우선 순위를 갖습니다. 일반적으로 memory_limitpost_max_size보다 커야합니다.

여기서 정수를 사용하면 값은 바이트 단위로 측정됩니다. 더 큰 크기의 값을 변경하려면 K (킬로), M (메가) 및 G (기가)을 사용할 수 있습니다. 예 : 10K, 2M

+0

post_max_size와 memory_limit 모두 4kb (각각 8MB와 64MB)보다 훨씬 많은 제한이 있으므로 불행히도 이것이 문제라고 생각하지 않습니다. –

관련 문제