>웹 프론트엔드 >JS 튜토리얼 >Ajax가 특수 문자를 사용하여 데이터를 전달하는 문제를 해결하는 방법

Ajax가 특수 문자를 사용하여 데이터를 전달하는 문제를 해결하는 방법

亚连
亚连원래의
2018-05-22 11:33:231580검색

이 글에서는 Ajax에서 전달한 데이터에 특수 문자가 포함된 경우 해결 방법을 소개합니다. 필요하신 분들은 참고하시면 됩니다

문제 설명

은 다음과 같습니다. 특수 문자가 포함된 텍스트를 JSON으로 캡슐화하는 방법입니다. Ajax Pass,

var data = {"Id": id, "text": text};

백그라운드에서는 데이터 수신이 불가능합니다.

Solution

req.setRequestHeader("Content-Type",
        "application/x-www-form-urlencoded");

을 다음으로 바꾸세요:

req.setRequestHeader("Content-type",
        "application/json; charset=utf-8");

백그라운드에서 데이터 수신:

 //进行json数据的接收
    StringBuilder sb = new StringBuilder();
    BufferedReader br = request.getReader();
    char[] buff = new char[10000];
    int len;
    while((len = br.read(buff)) != -1){
      sb.append(buff, 0, len);
    }
    String mess = sb.toString();
    //将字符串转换为JSON对象
    JSONObject jsonObject=new JSONObject(mess);
    //获取其中的值
    jsonObject.getInt("Id");
    //含有特殊字符的文本需要先进行转码
    URLDecoder.decode(jsonObject.getString("text"), "UTF-8"));

이렇게 하면 텍스트를 올바르게 받을 수 있습니다~

위 내용은 제가 모두를 위해 편집한 것입니다. 앞으로는 모든 사람에게 도움이 되기를 바랍니다.

관련 기사:

로컬(파일 프로토콜) AJAX 요청을 지원하도록 Chrome 구성(그래픽 튜토리얼)

AJAX 페이징 효과는 구현이 간단합니다(그래픽 튜토리얼)

Ajax 또는 Easyui와 같은 프레임워크를 사용하는 경우 Json-lib 처리 솔루션(그래픽 튜토리얼)

위 내용은 Ajax가 특수 문자를 사용하여 데이터를 전달하는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.