2014-10-08 2 views
0

저는 jquery에 대해 아직 비교적 새로운 편이어서 아약스를 사용하여 여러 변수를 PHP에 전송하는 가장 좋은 방법은 무엇인지 궁금합니다. 예를 들어, 나는 같은 패키지의 변수를 보내야합니다 : 아약스를 사용하여 여러 변수를 전송하는 모범 사례

$.ajax({ 
    data:{ 
     x: 1, 
     y: 2 
    }, 
    ... 
}) 

어떤 성능 이점 또는 하나를 사용의 혜택을 다른 어떤 종류가 있습니까 :

$.ajax({ 
    data:{ 
     input: {x: 1, y: 2} 
    }, 
    ... 
}) 

또는으로 보내 같은 개별 변수 다른 것보다? 시간에 대한

감사합니다, 이것은 당신의 사용에 따라 LL

+1

코드 예제에는 차이가 없습니다 많은 필드가있을 때 간단, 레이아웃의 스타일로 저장합니다. –

+1

실제로는 개인적인 취향이기 때문에 주로 의견 기반으로 마감하도록 투표했습니다. 나는 두 번째 것을 선호한다. –

+0

첫 번째 것은 백엔드에서 TINY 양이 더 느릴 것입니다. 비 직렬화하기가 더 복잡하기 때문에 멤버에 액세스하는 데 하나의 추가 단계가 필요합니다. PHP가 메모리를 사용하는 방법에 대해 많이 알지 못하기 때문에 이는 중요하지 않을 수 있습니다. 이 경우에는 사소한 차이가 있습니다. 그런 작은 성능 문제에 신경을 쓰지 않는다고 생각합니다. 그래서 당신이 더 좋아하는 부분으로 넘어갑니다. – UpQuark

답변

0

. 간단한 변수 (하나 또는 두 개) 만 필요하면 두 번째 변수처럼 직접 전달할 수 있습니다. 그러나 복잡한 구조화 된 데이터를 전달해야하는 경우 1 단계로 넘어갈 수 있습니다. 그러나 아약스 매개 변수로서보다 복잡한 구조화 된 데이터가있는 경우 서버 측 직렬화가 느려질 수 있습니다. - 일부 관련 링크 - Getting "The JSON request was too large to be deserialized"

2

이 기능은 양식 .serialize()

<html> 
    <body> 

    <form action="#" id="formsend" method="post" name="formsend"> 
    <input name="val1" id="val1"> 
    <input name="val2" id="val2"> 
    <input name="val3" id="val3"> 
    ...... 
    </form> 
    <a href="javascript:;" id="btn_send" >Send</a> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type= "text/javascript"></script> 

    <script> 

$("#btn_send").click(function() { 
    $.ajax({ 
     type: 'POST', 
     url: 'ajax/ImAjaxPhpFile.php', 
     data: $("#formsend").serialize(), // send all form 
     beforeSend: function(){    
     }, 
     complete: function(){ 
     }, 
     success: function(a){        
      alert (a); 
     } 
    }); 
}); 


    </script> 
    </body> 
    </html>