2014-09-12 2 views
-2

한 JSP에서 다른 JSP로 값을 직접 보내려고합니다.
제출 된 값을 받으려면 extjs을 사용하고 있습니다.
나는 보낸 데이터를받는 방법을 모른다. POST 메서드를 통해 데이터를 보내는 것이 더 좋습니다.
다음은 내가 단서가 없다, (Hello.jsp 라에 링크) hello.js의 값을 retreive하려면 코드extjs의 POST 메소드 값 수신

Ext.Ajax.request({ 
    url: 'hello.jsp', 
    method:'POST', 
    params:{"abc":abc,"xyz":xyz}, 
    success: received, 
    failure: function(){alert('failure');} 
}); 

입니다.
extjs에 기본 제공 방법이 있는지 알려주실 수 있습니까?

보내고 받기 위해 GET 메서드를 사용했지만 전송 된 값이 제대로 수신되지 않았습니다. 일부 수신

Ext.Ajax.request({ 
    url: 'hello.jsp?xyxz=xyz&abc=abc', 
    method:'GET', 
    success: received, 
    failure: function(){alert('failure');} 
}); 

:

function getSearchParameters() { 
     var prmstr = window.location.search.substring(1); 
     alert(prmstr); 
} 

위의 경고가 나에게 원하는 결과를 제공하지 않았다 나는 아래의 코드를 사용했다.

+0

그들은 [docs에있는보기]를 가지고 있습니다 (http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.Ajax-method-request) – weeksdev

+0

POST 메서드를 통해 세부 정보를 보내고 있다고 가정하면 데이터 수신을 이해할 수 없습니다. 그 문서는 그것을 설명하지 않습니다. – Freakyuser

+0

이 질문에 대한 답변과 데모 용 예제를 추가했습니다. 성공 함수에서 어떤 일이 더 잘 일어나고 있는지 그리고 웹 서비스의 전형적인 응답이 어떻게 생겼는지 설명하는 데 도움이 될 것입니다. – weeksdev

답변

2

다음과 같이 성공 기능을 업데이트하면됩니다. 당신이 당신의 웹 서비스에서 json를 반환하는 경우

Ext.Ajax.request({ 
    url: 'hello.jsp', 
    method:'POST', 
    params:{"abc":abc,"xyz":xyz}, 
    success: function(jsonObj){ 
    //this jsonObj should contains data from your JSP page,now you can set this value to your HTML. 
    }, 
    failure: function(){alert('failure');} 
}); 
+0

답장을 보내 주셔서 감사합니다, 내 질문은 extjs를 사용하여 최종 결과 JSP를받는 방법입니다. 그건 그렇고, 나는 잘못된 방식으로 값을 설정하고 있습니까? – Freakyuser

+0

end jsp에서 요청 객체 (GET의 경우 request.getParameter ('') 또는 POST 메소드의 경우 본문)를 사용하여 값을 가져올 수 있습니다. 그런 다음 필드에이 값을 설정할 수 있습니다. – RE350

+0

"POST 방법의 경우 본체에서"이것은 이해할 수없는 것입니다. 어떻게해야합니까? 답을 편집 할 수 있습니까? POST 방법의 경우 – Freakyuser

4

이 답변의 바이올린은 here

사용할 수 있습니다. 그런 다음이 예제와 유사합니다 : (당신이 xml을하거나 심지어 그 문제에 html을 반환 할 수 있습니다)

{ 
    "success": true, 
    "data": [{ 
     "FirstName": "John", 
     "LastName": "Smith" 
    }, { 
     "FirstName": "Josh", 
     "LastName": "Anon" 
    }] 
} 

그리고 당신은 ExtJS에 아약스 요청이 비슷한 보일 것이다

Ext.Ajax.request({ 
      url:'example.json', 
      success:function(response){ 
       //the response object 
       console.log(response); 
       //the body of the response as a string 
       console.log(response.responseText); 
       //convert the json to an object 
       var jsonObj = Ext.decode(response.responseText); 
       console.log(jsonObj); 
       //and here is the first item in the array and the first name 
       console.log(jsonObj.data[0].FirstName); 
      } 
     }); 

에 대한 설명 내 성공 함수에서 벌어지는 일 :

  • 먼저 응답을 기록합니다. 원래 요청에서 반환 된 내용으로 서버의 응답 본문이 responseText 속성에 포함되어 있습니다. 유용 할 수있는 다른 속성 (예 : 상태 코드)이 포함되어 있습니다.
  • 다음은 서버에서 예상 한 응답임을 나타내는 responseText를 로깅합니다. 이것은 우리가
  • 가 마지막으로 내가 데이터 객체의 첫 번째 노드의 값을 얻을 수있을 것입니다 방법을 표시하고 활용할 수있는 JSON
  • 다음으로 우리가 자바 스크립트 객체를 JSON의 문자열을 변환의 string 참고 json에서.
0

이것은 ASP입니다 수행하는 방법에 대한 확실하지, 그러나 이것은 PHP를 사용의 ExtJS에서 POST 값을 읽는 방법입니다 :

if (isset($HTTP_RAW_POST_DATA)) { 
    header('Content-Type: application/json'); 
    $requestData = json_decode($HTTP_RAW_POST_DATA); 
} 

$ requestData에서는 ExtJS Ajax 호출에서 POST 데이터를 포함해야합니다.