POST 메서드를 통해 데이터를 보내는 jQuery 스크립트에 문제가 있습니다. 문제는 Ajax를 통해 "&"앰퍼샌드가있는 데이터를 보낼 때마다 "&"이라는 문장을 잘라냅니다.jQuery를 사용하여 폼 입력에서 "&"앰퍼샌드 문자를 이스케이프 처리하는 방법
자세한 내용은 아래 이미지를 확인하십시오.
POST 메서드를 통해 데이터를 보내는 jQuery 스크립트에 문제가 있습니다. 문제는 Ajax를 통해 "&"앰퍼샌드가있는 데이터를 보낼 때마다 "&"이라는 문장을 잘라냅니다.jQuery를 사용하여 폼 입력에서 "&"앰퍼샌드 문자를 이스케이프 처리하는 방법
자세한 내용은 아래 이미지를 확인하십시오.
이 기능은 htmlentites (있는 경우를 제외하고 모든면에서 htmlspecialchars()와 동일)을, HTML 문자 엔티티에 존재하는 모든 문자를 번역 이 엔티티에
(역순으로) 디코딩하려는 경우 html_entity_decode()을 사용할 수 있습니다.
예 :
echo htmlentities("&"); // &
경우 직접 브라우저에서이 일을 당신은 사용할 수 있어야합니다 :
이encodeURIComponent(string input);
예 :
encodeURIComponent($.trim($("input[name=t-tim_rendered-"+id+"]").val().toString()));
당신이 통과하면 당신의 data
매개 변수를 Javascript 객체로 사용하면 (그리고 IMO는 코드를 더 깔끔하게 보이게합니다.) 그래서 다음에 $ 아약스 호출을 변경해야합니다 :
data: {"user_id": user_id, "time_r": time_r, "task_d": task_d, "p_id": p_id, "df": finished},
당신은 네이티브 자바 스크립트 탈출을 사용할 수 있습니다() 함수 줄에
을 74
data: : "&task_d=" + escape(task_d) + ""
다른 방법으로 묶어야 할 수 귀하 쿼리 문자열 값을 따옴표로 묶습니다.
data: : "&task_d='" + task_d + "'"
고마워요! 이것은 원래의 질문과 비슷한 나의 문제를 해결했습니다. – Hunnenkoenig
나는이 문제와 정확히 관련이 있습니다 ation.
Andrew Koester의 마지막 답변이 내가 찾던 완벽한 답변이라고 할 수 있습니다. 경우
당신이 아약스를 통해 PHP하기 위해 jQuery를 양식에서 여러 형태의 항목을 전달하는()과 같이 전화 :
데이터 : "이름 ="+ 이름 + "& 메시지 ="+ 메시지 +. ..
이 메서드를 사용하면 폼의 입력 필드에 앰퍼샌드 (&) 문자가 쓰여지지 않습니다.
사용하는 대신 앤드류에 의해 제안이 하나
데이터 : { "이름"이름 "이메일"이메일 "대상"대상 "의견"의견},
이 사용자는 아약스 선언과 상충되는 것에 대해 걱정하지 않고 어떤 종류의 특수 문자라도 쓸 수 있습니다.
'encodeURIComponent'를 사용하여 해당 구성 요소에 대한 URL 인코딩을 수행 할 수 있습니다. 나는 이것을 사용하여 IE, Firefox 및 Chrome 브라우저에서 유효성을 검사했습니다.
질문은 정말로 오래되었으며이 문제를 해결하기 위해 새로운 것은 아닙니다. 대신 댓글을 달거나 허용 할 때 투표를하는 것이 좋습니다. – Theolodis
encodeURIComponent를 시도해 보았습니다. 고마워요! – jameserie
환영합니다. :) – RobertPitt