2014-07-06 2 views
-1

사람들이 서평을 게시 할 수있는 양식이 있습니다. 그들은 책 제목, 저자 이름 및 리뷰 텍스트를 제공합니다. 사용자가 평가를 저장 버튼을 클릭하면, 자바 스크립트 함수가 호출된다MySQL 잘림 데이터

function gravarResenha(id) { 
    var livro = $("#resenhatit").val(); 
    var autor = $("#resenhaaut").val(); 
    var resen = $("#resenhatex").val(); 
    if ((livro != "") && (autor != "") && (resen != "")) { 
     $.ajax({ 
      type: "POST", 
      url: "resenha/gravar/id/" + id + "/livro/" + livro + "/autor/" + autor + "/texto/" + resen, 
      success: function(res) { 
       if(res == 1) { 
        carregaPagina('secliteratura' , 'col02'); 
       } else { 
        alert("Problemas no cadastramento da resenha. Tente novamente."); 
       } 
      }, 
      error: function(res) { 
       alert("Problemas no cadastramento da resenha. Tente novamente."); 
      } 
     }); 
    } else { 
     alert("Impossível postar uma resenha vazia."); 
    } 
} 

가변 레센 이드 #resenhatex 인 텍스트 영역의 값을 수신한다. 이 값은 잘 렸습니다.

처음에는 MySQL 테이블에서 TEXT 필드를 사용하고 있다고 생각했습니다. 그런 다음 리뷰가 약간 길어질 수 있으므로 LONGBLOB 필드로 변경했습니다.

또한이 유형을 추가했습니다 : "POST"내 jQuery AJAX 호출에서 GET 메서드가 보낸 데이터의 크기에 관해서는 몇 가지 제한 사항이 있다는 것을 상기시키기 때문에.

더 큰 리뷰를 보낼 때 나는 여전히 동일한 잘린 값을 얻습니다.

제안 사항?

+0

textarea 또는 편집기 구성에 '최대 길이'? 언제나 보내기 전에,받은 후 삽입 후 잘리는 지 확인하기 위해 길이를 확인할 수 있습니다. – charlietfl

+0

편집기가 없으며 일반적인 텍스트 영역입니다. 이런 종류의 html 객체에 대한 기본 최대 길이가 있는지 알고 계십니까? 이 텍스트 영역의 최대 길이를 설정하지 않았습니다. – ederpsampaio

+0

POST 메서드를 지금 지정했을 수 있지만 여전히 데이터를 URL에 저장하고 있으므로 GET을 통해 전송됩니다. POST _properly_를 사용하고 개체로 보낼 데이터를 지정하십시오. – CBroe

답변

0

전달 된 텍스트 안에 물음표 (?)가 표시 될 때마다 문제가 너무 어려워졌습니다.

은 내가이 문제를 해결하기 위해 다음과 같은 한 :

var myresen = $("#resenhatex").val(); 
myresen = myresen.replace(/\?/g, "%3F"); 

을 그리고 그것을 잘했다!