나는 web.py URL을 만들었으며 2 개의 텍스트 상자 (제출 버튼 없음) 만 제공합니다. 첫 번째 텍스트 필드에 숫자를 입력하면 값을 다른 URL에 게시해야합니다. AJAX post()
을 사용하여 두 번째 URL에 데이터를 게시하고 싶습니다. 두 번째 URL은 내가 게시 한 데이터를 반환해야하며 두 번째 텍스트 상자 안에 표시되어야합니다. 키 업 기능과 AJAX post()
메서드를 사용하여이 문제를 어떻게 해결할 수 있습니까? post()
메서드로 많이 시도했지만 올바른 솔루션을 찾을 수 없습니다.AJAX에서 .post() 메소드를 사용하여 데이터를 다른 URL에 게시하십시오.
답변
는 시도이
$(function(){
$("#textbox1").keyup(function(){
if($(this).val()){
$.post({
url: "urlToPost",
data: { "textbox1": $(this).val() },
success: function(data){//make sure the server sends only the required data
$("#textbox2").val(data);
}
});
}
});
});
web.py GET 함수에서 코드를 시도했지만 두 번째 텍스트 상자에 결과를 표시합니다. – Sreehari
페이지에서 해당 게시물을 볼 수 있습니까? – ShankarSangoli
textbox1에 무언가를 입력하면 해당 페이지에서 요청하는 것을 볼 수 있습니다. FF를 사용하거나 서버 측 코드에서 포인트를 유지하고 중단하고 호출되는지 확인하려면 Firebug 콘솔 또는 넷 탭을 체크인하십시오. – ShankarSangoli
당신은 당신이 지금까지 무엇을 게시 할 수 있을까요?
$(document).ready(function() {
//Bind to keyup + change to account for Copy/Paste with mouse button.
$("#Textbox1Id").bind("keyup change", function() {
$.ajax({
url: 'yoururl',
type: 'POST',
data: { value: $("#Textbox1Id").val() },
dataType: "json",
beforeSend: function() {
},
success: function (result) {
$('#Textbox2Id').val(result.value);
},
error: function (result) {
//Handle error
}
});
return false;
});
};
이 쉔카 그것에 나를 이길 ...는 기본적으로 같은 대답은 당신이 또한 변경 이벤트를 바인딩 확인하고 오류를 처리 :이
예 .. 앞으로 꽤 곧장 보인다.
나는 해결책을 찾았습니다. 모든 제안에 감사드립니다. 제안 된 변경 사항으로 전체 코드를 첨부했습니다.
import web
urls = (
'/', 'first','/home','second')
app = web.application(urls, globals(), True)
class first:
def GET(self):
return'''
<html>
<head>
<script type="text/javascript"src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#text1").keyup(function(){
var txt = $("#text1").val();
$.post(
"http://127.0.0.1:8080/home",
{text1 : txt},
function(result){
$("#text2").val(result);
});
});
});
</script>
</head>
<body>
Enter your text here : <input type="text" id="text1" name="text1"/>
You entered : <input type="text" id="text2"/>
</body>
</html>'''
class second:
def GET(self):
return "Entered value goes here"
def POST(self):
i = web.input()
n = i.text1
return n
if __name__ == "__main__":
app.run()
시도해 보는 코드를 항상 제공하는 것이 좋습니다. – Andrea
이 질문에 대해 뭔가 비린내가 있습니다. 도움을 요청하기 전에 10 줄의 JavaScript를 시도하고 작성하는 것이 어렵지 않습니다. 특히 jQuery는 잘 설명되어 있습니다 (http://api.jquery.com/jQuery.post/). – Helgi