我正在做一个AJAX请求,不知何故在某个地方添加了一个尾随的换行符
如果请求成功,我的PHP脚本会回显(或应该回显)'SUCCESS'
,否则会'ERROR'
。
但目前它返回:'SUCCESS'
(即'SUCCESS\n'
)
我通过添加显示换行符的alert("!" + msg + "!")
看到了这一点。
我的AJAX电话:
function addMedia() {
var addMediaName = $("#addMediaName").val();
var notif;
if(addMediaName != ""){
$.ajax({
url : '../../controler/add/addMedia.php',
type : 'POST',
data : "mediaName="+ addMediaName,
dataType : 'text',
success: function(msg,data, settings){
if(msg == 'SUCCESS'){
$.toaster({ priority : 'success', title : 'Success', message : 'Mode created' });
} else {
$.toaster({ priority : 'warning', title : 'Failed', message : 'Mode already exists' });
}
},
});
}
}
我的PHP控制器:
<?php
include ('../../model/request/add.php');
if((include_once '../../model/request/add.php')===FALSE) exit('erreur include');
$mediaName = $_POST['mediaName'];
$mediaName = ucfirst(strtolower($mediaName));
$media = addMedia($mediaName);
?>
addMedia
函数:
function addMedia($mediaName)
{
global $conn;
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$sql = 'INSERT INTO media (mediaName) VALUES
("'.$mediaName.'")';
$conn->exec($sql);
echo 'SUCCESS';
} catch(PDOException $e) {
echo 'ERREUR';
}
}
知道换行的来源以及如何修复它?
答案 0 :(得分:3)
这很可能是由PHP文件的结尾引起的,其中新行跟在?>
之后。
现在,虽然之前可以die
/ exit
,但我认为只需删除?>
就可以解决这个问题。
PHP不需要结束标记,通常甚至认为更好的做法是不使用它,请参阅this SO question。
答案 1 :(得分:2)