2013-01-05 3 views
0

저는 AJAX의 초보자입니다. 자바 스크립트를 통해 파일에 라디오 버튼 값을 쓰고 싶습니다. 내 검색에 따르면 불가능합니다. 그 목적을 위해, 나는 php의 함수에 AJAX 요청을 보내고있다. 다음은 내 AJAX 요청입니다.AJAX 요청이 올바르지 않습니다.

$.ajax({ 
    url: "/modules/orffinder/write_file", 
    type: "POST", 
    data: "id=radios[i].value", 
    success: function(msg){ 
    alert(msg); 
    window.opener.runNextModule (msg); 
} 
}); 

내 PHP 함수는

function write_file() 
{ 
    $id = $_POST['id']; 
    echo "The id is ".$id; 
    $myFile = "/var/www/Bioinfo12/testFile.txt"; 
    $fh = fopen($myFile, 'w') or die("can't open file"); 
    fwrite($fh, $id); 
    fclose($fh); 
} 

하지만이 코드의 문제는 전혀 실행되지 않습니다 자사의 구문 오류가있을 수 있다는 것이다. 이 문제를 해결하는 방법은 무엇입니까?

+0

구문 오류가있는 경우 브라우저의 오류 콘솔 (JS 오류 인 경우) 또는 서버의 오류 로그 (PHP 오류 인 경우)에보고됩니다. 그들이 뭐라고하니? – Quentin

+0

@Quentin 브라우저 나 서버에 오류가 표시되지 않습니다. –

+0

그런 다음 구문 오류가 아닙니다 (또는 올바른 위치에서 찾고 있지 않습니다). 브라우저의 네트워크 탭에 무엇이 표시됩니까? HTTP 요청이 만들어 질 것으로 예상됩니까? 당신이 기대하는 반응을 얻었습니까? 수동으로 요청하면 어떻게됩니까? – Quentin

답변

2

당신은 JS에서 ""에 VAR을 사용할 수 없습니다, 당신은 다음과 같이 할 shoule :

data: "id="+radios[i].value 

당신은 크롬에서 예를 들어 F12를 들어, 브라우저 consle에서 오류를 볼 수 있습니다. PHP에서

1.the url is not right "module/xxxx" is diffrent from "/module/xxxx" 

2.the php script occur error. 

그래서 당신이보고, 브라우저에서 정보]를 얻을 수있다 (404), 또는 PHP를 반환 오류 정보

오 ... :

echo "The id is ".id; 

몇 가지 이유가 있습니다

가 될 shoule :

echo "the id is ". $id 
+3

문자열을'data'에 전달하면 안됩니다. 객체 ('data : {id : radios [i] .value)')를 사용하면 훨씬 더 효과적입니다. (현재) 문제가 아닙니다. 문제는 "전혀 실행되지 않는다"는 것이 아니라 주어진 값이 잘못되었다는 것입니다. – Quentin

+0

콘솔에 오류가 표시되지 않습니다. data : "id ="+ radios [i] .value는 결과에도 영향을주지 않습니다. –

+0

id가 아닌 PHP에서 @ayankhan은 $ id이어야 함 – tinybai

0

PHP 파일의 URL이 맞습니까? PHP 확장이 있어야합니다. "modules/orffinder.php"

자바 스크립트는 PHP 기능을 직접 호출 할 수 없습니다. write_file 함수는 페이지를 방문 할 때마다 자동으로 호출되어야합니다.

+0

URI 자체에'.php '문자를 포함하지 않고 PHP에서 URI를 처리하는 방법은 다양합니다. – Quentin

+0

write_file은 orffinder.php의 함수입니다. 모듈/orffinder.php/write_file로 작성해야합니까? –

+0

@ayan 전화를 걸려면 PHP 함수를 참조 할 필요가 없습니다 (자바 스크립트는 서버에서 아무 것도 할 수 없습니다) : Asynch Javascript는 페이지 출력을 반환합니다. 어떤 것이 있으면, 페이지가 요청 될 때 write_file이 자동으로 실행되어야합니다. –

관련 문제