2011-03-11 9 views
0
<html> 
<head> 
<title>Untitled 1</title> 
<script language="javascript" type="text/javascript" src="../js/jquery.js"></script> 
<script type="text/javascript" language="javascript"> 
$(document).ready(function() { 
    $("#usermsg").keypress(function(e) { 
     if (e.keyCode == 13) { 
      var message = $("#usermsg").val(); 
      alert("sent :" + message); 
      $.ajax({ 
       type: "POST", 
       url: "post1.asp?postchat=1", 
       data: "text=" + message, 
       success: function(data) { 
        alert("rcvd :" + data); 
       } 
      }); 
      $("#usermsg").attr("value", ''); 

     } 
    }); 
});</script> 
</head> 

<body> 

<form method="post"> 
    <textarea id="usermsg" name="TextArea1"></textarea></form> 

</body> 

</html> 

나는 한번도 보지 못한 문제로 실행했습니다 - 문자열 쌍에 전달 될 때 POST를 사용하여 매우 간단한 $ 아약스 {} 전원 양식에 내 페이지 처리 중, 어딘가에 공백이있는 경우 값 중 일부가 제거됩니다. 경고 (dataString); 공백이 $ .ajax {} 호출 전에 표시되지만 처리 페이지에 제출 될 때 문자열을 공백이 없습니다. 문자열을 어딘가에 urlencode/decode해야합니까, 아니면 다른 것을 엉망으로 만들어야합니까? 누구나 전에 이 올까요?jQuery.ajax 밖으로 제거 공간

+0

을 사용하는 것입니다 데이터 : {텍스트 : 메시지} –

답변

2

아약스 전화에서 다음 줄을 사용해 보셨나요?

data: {text: message}, 

jQuery가 인코딩을 처리해야합니다.

리치

0

쉬운 대답은 data: 'get' 대신 data: 'post'