AJAX를 사용하여 두 개의 매개 변수를 반환하는 방법은 무엇입니까?AJAX를 사용하여 두 개의 문자열을 반환하는 방법은 무엇입니까?
다음은 내가 가지고있는 것입니다. 여기 내 HTML 페이지에 2 textareas 있습니다. 의 .js가 파일에서
<textarea name="source" id="source" onkeyup="myfunc(this.value);}"></textarea>
<textarea name="res1" id="res1"></textarea>
<textarea name="res2" id="res2"></textarea>
onKeyUp에 이벤트가 이 myfunc() 함수를 호출합니다.
myfunc에()는는 문자열을 포함 결과
...
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("res1").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","ajax_file.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset= UTF-8");
xmlhttp.send("q="+encodeURIComponent(str));
, ajax_file.php 가 어떤 계산한다 Q 및 P를 계산하고, 질문을 돌려 준다. 문자열 q가 텍스트 영역 res1으로 반환되었습니다. 모든 것은 괜찮습니다. 잘 작동합니다. 하지만 p ~ res2 (다른 텍스트 영역)도 전달하고 싶습니다. 계산되었지만 둘 이상의 매개 변수를 전달하는 방법을 모르겠습니다. 그렇게하는 방법은 무엇입니까? 감사합니다. 당신이 두 개의 매개 변수를 반환 PHP에서 배열을 사용하여 JSON
$arr = array();
$arr['str1'] = $str1;
$arr['str2'] = $str2;
header('Content-type: application/json');
echo json_encode($arr);
에서 인코딩 할 경우
미안하지만 여전히 나에게는 분명하지 않습니다. 좋아요, $ p와 $ q를 배열 $ arr에 넣고 에코 json_encode ($ arr)라고 말하면됩니다. 승인. 이제 res1에 $ arr [ 'str1']을 추출하는 방법은 무엇입니까? document.getElementById ("res1")를 사용했습니다. innerHTML = xmlhttp.responseText; 내 .js 파일에서 매개 변수 하나만 반환했을 때. 고맙습니다. – Haradzieniec
@Haradzieniec 당신은 JSON 클라이언트 측을 파싱하고 매개 변수를 사용해야합니다. 나는 그것에 대한 나의 대답을 편집했다. JSON은 일반적으로 브라우저 메소드입니다. 이전 브라우저에서 사용할 몇 가지 자바 스크립트 라이브러리가 있습니다. –
내 질문의 끝 부분에 코드를 올려 놓았습니다 (위 참조). 오류가 발생합니다. 고맙습니다. – Haradzieniec