programing

AJAX 콜에서 어레이를 반환하는 방법

mbctv 2023. 3. 12. 11:10
반응형

AJAX 콜에서 어레이를 반환하는 방법

jQuery를 사용하여 AJAX 호출을 하고 PHP 파일을 통해 어레이를 반환하고 클라이언트 측에서 Javascript 어레이로 제공하는 더 나은 솔루션을 찾고 있습니다.저는 이렇게 하고 있습니다.

PHP 파일(예.php):

<?php
    $id_numbers = array('NES-ZL','NES-AL','SNS-ZL');

    for ($i=0; $i<count($the_array); $i++){
        echo $id_numbers[$i];
        echo '|';
    }
?>

JS 파일:

id_numbers = new Array();
$.ajax({
    url:"Example.php",
    type:"POST",
    success:function(msg){
        id_numbers = msg.split('|');
    }
});

현재의 방법은 내 취향에 좀 복잡할 뿐이다.

제가 하고 싶은 건 그냥...

return $id_numbers;

AJAX 호출 후 Javascript 배열로 직접 변환합니다.

생각나는 사람?

JSON을 사용하여 클라이언트와 서버 간에 데이터 유형(어레이 및 개체)을 전송합니다.

PHP의 경우:

JavaScript의 경우:

PHP:

echo json_encode($id_numbers);

JavaScript:

id_numbers = JSON.parse(msg);

Wolfgang이 언급한 것처럼 jQuery에 네 번째 파라미터를 지정하여 JSON을 자동으로 디코딩할 수 있습니다.

id_numbers = new Array();
$.ajax({
    url:"Example.php",
    type:"POST",
    success:function(msg){
        id_numbers = msg;
    },
    dataType:"json"
});

PHP의 json_encode()를 확인합니다.dataType: "json" 매개 변수를 사용하여 $.ajax를 얻을 수 있습니다.

@Xeon06은 좋지만 이 글을 읽고 나처럼 도전해본 분들에게는 참고 자료로...php =에서 어레이를 반환할 때>json_encode($theArray)특히 저 같은 소프트 js 사용자에게는 조작하기 어려운 문자열로 변환됩니다.

js 내부에서는 JSON.parse를 사용하여 어레이 값 및/또는 키를 얻으려고 합니다.var jsArray = JSON.parse(data)여기서 data는 php에서 어레이를 반환합니다.json 인코딩된 문자열은 이제 쉽게 조작할 수 있는 js 개체로 변환됩니다.

예: foo={one:1, 2:2, 3:3} - JSON.parse 이후 취득

for (key in foo){ console.log("foo["+ key +"]="+ foo[key]) }- firebug 콘솔에 출력합니다.야아아아악!

봐주세요json_encode( http://php.net/manual/en/function.json-encode.php) )를 참조해 주세요.PHP 5.2부터 이용 가능합니다.매개 변수 사용dataType: 'json'파싱해 달라고 부탁했어요그러면 성공 시 첫 번째 인수로 Object를 갖게 됩니다.자세한 내용은 jQuery 문서를 참조하십시오.http://api.jquery.com/jQuery.ajax/

Php에는 이 기능을 위한 슈퍼섹시 기능이 있습니다.배열을 전달해 주세요.

$json = json_encode($var);

$.ajax({
url:"Example.php",
type:"POST",
dataType : "json",
success:function(msg){
    console.info(msg);
}
});

시뮬레이션 :)

음, 제가 좀 늦은 건 알지만, 저는 당신의 모든 해결책을 시도해봤지만 성공하지 못했어요!그래서 제가 어떻게 해냈는지 알려드릴게요.우선, 저는 ASP를 만들고 있습니다.넷 MVC 프로젝트변경된 것은 c# 방식뿐입니다.getInvitation:

public ActionResult getInvitation (Guid s_ID)
{
    using (var db = new cRM_Verband_BWEntities())
    {
        var listSidsMit = (from data in db.TERMINEINLADUNGEN where data.RECID_KOMMUNIKATIONEN == s_ID select data.RECID_MITARBEITER.ToString()).ToArray();
        return Json(listSidsMit);
    }
}

JS에서의 성공 기능:

function successFunction(result) {
    console.log(result);
}

메서드 유형을 에서 변경했습니다.string[]로로 합니다.ActionResult 내 .listSidsMit쫑알송알송알송알송알송알송알송알송알송알송알송알송알송알.

언급URL : https://stackoverflow.com/questions/8823925/how-to-return-an-array-from-an-ajax-call

반응형