진행 :
$
그래서 다음과 같이 __pragma__ ('alias', 'jq', '$')
을 사용하여 파이썬에서 유효한 식별자가 아닙니다.
람다 이외에도 파이썬은 익명 함수를 알지 못하므로 일반 함수를 대신 콜백으로 사용하십시오. 아래 예제에서는 로컬 함수가 사용되었습니다.
필드 이름을 따옴표로 묶으십시오. 이것이 성공이 아니라 '성공'입니다. 왜냐하면 이것이 파이썬 협약이기 때문입니다. 번역하기를 사용하여 Ajax를
예 :
__pragma__ ('alias', 'jq', '$')
# For use by eval'ed turtle applet
import turtle
import random
import math
def clear():
editor.setValue ('')
turtle.reset()
run()
def run():
def success (result):
turtle.reset()
eval (result)
def fail (a, b, c):
print ('Run error:', a, b, c)
# N.B. The request has to be explicitly encoded, but the response is already implicitly decoded
jq.ajax ({
'url':'http://www.transcrypt.org/compilemodule',
'type': 'POST',
'data': JSON.stringify (editor.getValue()),
'dataType': 'json',
'contentType': 'application/json',
'success': success,
'fail': fail
})
def mail():
def success (result):
print (result)
def fail (a, b, c):
print ('Run error:', a, b, c)
jq.ajax ({
'url':'http://www.transcrypt.org/sendmail',
'type': 'POST',
'data': JSON.stringify ([document.getElementById ('mail_address') .value, editor.getValue()]),
'dataType': 'json',
'contentType': 'application/json',
'success': success,
'fail': fail
})
def selectExample():
def success (result):
editor.setValue (result [0])
turtle.reset() # Using old paths
window.terminate = True
eval (result [1]) # Using new paths (so cannot clear old result)
def fail (a, b, c):
print ('Select example error:', a, b, c)
selector = document.getElementById ('select_example')
jq.ajax ({
'url':'http://www.transcrypt.org/selectexample',
'type': 'POST',
'data': JSON.stringify (selector.options [selector.selectedIndex] .value),
'dataType': 'json',
'contentType': 'application/json',
'success': success,
'fail': fail
})
selectExample()
당신이 자바 스크립트에서 아약스를 사용하여 파이썬 플라스크 서비스에 POST 요청을 보내시겠습니까? – abhinav
@abhinav 예, 클라이언트가 브라우저에서 작업을 트리거 할 수있게하려면 브라우저에서 파이썬 코드를 실행하고 완료되면 브라우저를 상태로 업데이트하십시오. JavaScript를 사용하기보다는 (이제는 배워야 할 것입니다.) Transcrypt를 사용하여 이것을 수행하기를 희망했습니다. – Tamer