웹 응용 프로그램을 만드는 중입니다.Flaskr url_for가 javascript에서 python으로 호출 될 때 작동하지 않는 매개 변수 사용
자바 스크립트에서 저는 파이썬 스크립트에 대한 ajax 호출을 처리하고 결과를 응답으로 보냅니다. /process /는 json으로 전송되는 값, 즉 value1과 value2를 처리하기위한 python 스크립트의 경로입니다. 나는 '결과'에서 json 설정 값으로 응답을 되돌려 보냅니다.
아약스의 성공 블록에서 값은 name_value에 저장되며 이것은 매개 변수로 파이썬 라우팅 메소드에 전달되어야합니다.
자바 스크립트 :
$.ajax({
type: "GET",
url: "/process/",
contentType: "application/json; charset=utf-8",
data: { "value1" : value1,
"value2" : value2
},
success: function(data) {
var name = data.result;
console.log(name);
window.location.href = "{{url_for('/process2', name=name)}}"
}
});
파이썬 스크립트 매개 변수가 url_for에 전달되는 경우 내가이 경우 매개 변수 값을 수신되지 않는 경우
app.route("/process2/<name>")
def process2(name):
print name
render_template("user.html", name=name);
. 매개 변수를 하드 코드하면 파이썬 스크립트에서 매개 변수 값을받을 수 있습니다.
window.location.href = "{{url_for('/process2', name='helloworld')}}"
어떤 도움을 주셔서 감사합니다. 미리 감사드립니다. 경험에서
JS가 템플릿에 렌더링되었거나 정적 파일에 있습니까? Jinja가 url_for를 실제 URL 문자열로 바꾸는 유일한 방법은 템플릿에 포함 된 경우입니다. – Celeo
예 .. 템플릿에서만 렌더링됩니다. 템플릿 폴더 내 자바 스크립트가 내 HTML 파일이 포함되어 있습니다. – bhoo