이것은 Ajax를 통해 전송됩니다.mail() 함수가 본문이 "0"인 전자 메일을 보내는 이유는 무엇입니까?
$.ajax({
url: objCommon.ajax,
type: 'POST',
data: {type:'feedback', msg:$('.commonsFeedbackDiv').text(), url:window.location.href},
success: function(data){
console.log(data);
if(data.search('ajaxError') === -1){
console.log('sent');
}else if(data.search('msg')){
alert('Please enter a message.');
}
}
});
그리고 요청을 처리하는 PHP : 다음은 JS의
global $user;
echo $_POST['msg'];
echo $_POST['url'];
if(isset($_POST['msg']) && $_POST['msg'] !== ''){
mail('[email protected]', 'Commons Feedback', 'url: ' + $_POST['url'] + $_POST['msg'], 'From: ' . $user->mail);
}else{
echo 'ajaxError - no msg';
}
당신은 내가 콘솔에 대한 응답을 기록하고있어 success()
콜백 함수에서 볼 수 있으며,이 응답한다 PHP 코드의 시작 부분에있는 두 개의 echo
구문을 사용하십시오. 콘솔에서 끝나는 문자열은 정확합니다. 메시지와 URL을 모두 포함합니다. 그러나 수신 한 실제 이메일에는 콘텐츠의 숫자 0이 포함되어 있습니다.
왜 그런가?
을 변경해야하고이 * 살균 잊지 마세요 0
따라서 값으로 문자열을 변환뿐만 아니라, *를 수행하여 입력! http://xkcd.com/327/ – Aif
나는이 게시물을 위해 그냥 제거했습니다. – maxedison