2012-02-26 4 views
0

확실한 것은 확실하지만 AJAX 요청 내에서 변수 데이터를 설정하는 것 같습니다.AJAX 호출에서 변수를 설정 하시겠습니까?

내 서블릿은 숫자 배열을 반환합니다.

int[] array = {1,2,4,5,3,5,3,5}; 

    response.setContentType("application/json"); 
    response.setCharacterEncoding("UTF-8"); 
    response.getWriter().write(new Gson().toJson(array)); 

jquery 배열로 json 데이터를 저장하려고하는 jquery로 데이터가 전달됩니다.

var test2 = []; 
    $.post("servlet", { info: data}, 
       function(data) { 
        alert(data); // this alerts what i want stored... 
        test2.push(3); // testing if i can add 3 to test FAILS 
       }); 
    test2.push(9); //this works 
    test2.push(9); //this works 
    options.series[0].data = test2; 

ajax 호출로 테스트에 숫자를 넣을 수없는 이유는 무엇입니까? 거짓

내가 원하는 최종 결과를 비동기식으로 완전한 AJAX() 함수를 사용

+0

'test2'에 대한 변수 선언이 없습니다. 이것은 오타입니까? –

+0

예 업데이트 됨 – Lunar

+0

'경고 (데이터)'가 실행되고 있습니까? –

답변

1

푸시가 "실패"하다고 어떻게 결정합니까? AYAX 요청이 비동기이기 때문에 39 후에 오랫동안 추가됩니다.

var test2 = []; 
$.post("servlet", { info: data}, 
      function(data) { 
       alert(data); // this alerts what i want stored... 
       test2.push(3); // testing if i can add 3 to test FAILS 
       alert(test2) 
      }); 
+0

저는 아약스 요청 안에서 차트 호출을 옮겼습니다. – Lunar

-2

시도 서블릿에 의해 반환 된 데이터의 어레이 [0] .DATA 동일 options.series를 설정하는 것이다.

var test2 = []; 
$.ajax({ 
    url: "servlet", 
    async: false, 
    type: "post", 
    data: { info: data}, 
    success: function(data) { 
       alert(data); // this alerts what i want stored... 
       test2.push(3); // testing if i can add 3 to test FAILS 
      }); 
}); 

EDITED : 잘못된 진술을 삭제했습니다.

+0

동기식 호출은 일반적으로 브라우저의 UI를 고정시키기 때문에 나쁜 생각입니다. 물론 Ajax 호출로 변수를 변경할 수도 있습니다. –

+0

그가 변수를 변경할 수 있는지, 질문은 그가 검사 할 때입니다 – Sinetheta

+0

응? 비동기 요청 콜백이 마술처럼 변수를 바꿀 수 없습니까? –

-1

왜 당신은 너무처럼 AJAX 내에서 변수를 설정하지 :

function(data){ 
    options.series[0].data=data; 
} 

을 그러나, 나는 인해 기능으로, 실제 $.ajax 객체를 사용하는 것이 좋습니다 것입니다.

+0

"문제"를 다른 변수로 옮기고 있습니다. –

관련 문제