2017-04-19 3 views
-1

게시 된 데이터 대신 URL을 제공 문자열은 prot 텍스트 필드에 표시됩니다. 내 prot 텍스트 필드에 URL이 표시됩니다. 오류/예외가 발생하지 않습니다. URL을 <seq>으로 변경하여 동일한 버그가 발생했습니다.아약스 후 반환 내가 (+ JS) 코드이 HTML을

+0

흠 .. 문제가 괄호로 묶여 있는지 궁금합니다. <> – FernandoZ

+0

오 ... 알겠습니다 ... 코드가 URL로 호출되어야합니다. '/ message'not/''... seq 백 엔드의 자리 표시 자이지만 Ajax 호출에서 실제 값을 가져야합니다. – FernandoZ

+0

슬래시 뒤에 오는 것이 무엇이든 실제로 되돌리고 싶다고 가정하고 있습니다. – FernandoZ

답변

1

아래 답변을 사용하여 요구 사항을 충족하십시오.

@app.route("/seq", methods=['POST', 'GET']) 
def seq(): 
    if request.method == 'POST': 
     print(request.form) 
     return request.form['message'] 
    else: 
     // Do Stuff here for GET request 
     // return '' 

당신 ajax POST 요청은 아래와 같이 될 것입니다 :

내가 코멘트에서 설명했듯이
<script> 
$("#submitID").click(function() { 
    document.body.style.background = 'red'; 
    $.ajax({ 
      type: "POST", 
      url: "/seq", 
      data: { 
       message: 'message' // you can send other parameters here. 
      }, 
      success: function(data) 
      { 
       document.body.style.background = 'green'; 
       document.getElementById("prot").value = data; 
       alert(data); // show response from the python script. 
      }, 
      error: function(xhr, ajaxOptions, thrownError){ 
       alert(xhr.responseText); 
      } 
     }); 
    return false; // avoid to execute the actual submit of the form. 
}); 
</script> 

는 문제는 경로 (당신이 플라스크 백엔드에 지정된 방법)에있다.

+0

와우 감사합니다. 나는 이것을 2 일 동안 지금 달성하려고 노력하고있다 – CodeNoob

+0

당신은 환영 받다 :) – Pradeepb

1

<seq>은 URL의 동적 인 부분을 의미합니다. seq이 뷰 기능에 전달됩니다. 귀하의 ajax 코드에 <seq>을 씁니다. 따라서 seq (보기 기능의 매개 변수)은 <seq>이됩니다. 뷰 기능은 응답 데이터로이를 반환합니다.

+0

그러면 URL로 사용할 조언은 무엇입니까? 나는 URL을 사용하려고했습니다 : "/"그러나 이것은 작동하지 않습니다 – CodeNoob

+0

Flask의 [Quickstart] (http://flask.pocoo.org/docs/0.12/quickstart/)를보아야합니다. – stamaimer

관련 문제