Javascript AJAX响应中的尾随换行符

Javascript AJAX响应中的尾随换行符,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在做一个AJAX请求,不知怎的,在某处添加了一个尾随的换行符。 如果请求成功,我的PHP脚本将回显或应该回显“SUCCESS”,否则返回“ERROR”。 但目前它返回:“SUCCESS”,即“SUCCESS\n”。 我通过添加警报看到了这一点!+味精+!这表明线断了 我的AJAX调用: function addMedia() { var addMediaName = $("#addMediaName").val(); var notif; if(addMediaNam

我正在做一个AJAX请求,不知怎的,在某处添加了一个尾随的换行符。 如果请求成功,我的PHP脚本将回显或应该回显“SUCCESS”,否则返回“ERROR”。 但目前它返回:“SUCCESS”,即“SUCCESS\n”。 我通过添加警报看到了这一点!+味精+!这表明线断了

我的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);
?>
你知道这条新线是从哪里来的吗?我该如何修复它?

添加或之后

如果您不能添加die,那么代码将执行下一行代码,或者在本例中,它将在MVC中调用“视图”

添加或之后


如果您不能添加die,那么代码将执行下一行代码,或者在本例中,它将在MVC中调用“视图”

这很可能是由于PHP文件的结尾导致的,其中换行符跟随?>

现在,虽然可能在前一点死亡/退出,但我认为简单地移除“>”是一个更干净的解决方案。


PHP不需要结束标记,通常认为最好不要使用它,请参阅。

,这很可能是由于PHP文件的结尾导致的,其中换行符跟随?>

现在,虽然可能在前一点死亡/退出,但我认为简单地移除“>”是一个更干净的解决方案。



PHP不需要结束标记,通常认为最好不要使用它,请参见。

adddie after echo'SUCCESS';死亡或呼应‘错误’;死亡该死的,它有用。。。怎样我知道换行符是在echo“SUCCESS”之后添加的,但我不知道如果您没有死,那么代码将执行下一行代码,或者在本例中,它将在MVC中调用“view”。问题是,我使用相同的代码添加其他内容,它可以正常工作,所以我不明白…在某个地方,您可以在函数执行后添加额外的空间,以便在条件满足时更好地停止代码执行:在echo“成功”后添加骰子;死亡或呼应‘错误’;死亡该死的,它有用。。。怎样我知道换行符是在echo“SUCCESS”之后添加的,但我不知道如果您没有死,那么代码将执行下一行代码,或者在本例中,它将在MVC中调用“view”。问题是,我使用相同的代码添加其他内容,它可以正常工作,所以我不明白…在某个地方,您可以在函数执行后添加额外的空间,以便在条件满足时更好地停止代码执行:或者你可以更容易地跟随@Siguza回答:胡乱猜测:后面有一条新线?>。如果是这种情况,只需删除?>当您使用ajax时,请确保在回显或打印时通过添加死或退出代码来停止执行,而不是删除额外的空间或其他代码:而不是编写坏代码并阻止其执行,而不是编写好代码。-不,只是不。我明白你的意思,不过在这种情况下,在?>之后加一行新的代码并不坏,它只是一个愚蠢的、很难找到的打字错误。我认为最好的办法是在你得到你想要的价值后死去,并写出好的代码:@Siguza。当你使用MVC时。在这种情况下,不能使用die或“exit”停止代码执行。它将调用默认布局或视图文件。在这种情况下?>格式设置将不起作用。或者您可以按照@Siguza答案:胡乱猜测:在?>之后有一个换行符,这样做会更容易。如果是这种情况,只需删除?>当您使用ajax时,请确保在回显或打印时通过添加死或退出代码来停止执行,而不是删除额外的空间或其他代码:而不是编写坏代码并阻止其执行,而不是编写好代码。-不,只是不。我明白你的意思,不过在这种情况下,在?>之后加一行新的代码并不坏,它只是一个愚蠢的、很难找到的打字错误。我认为最好的办法是在你得到你想要的价值后死去,并写出好的代码:@Siguza。当你使用MVC时。在这种情况下,不能使用die或“exit”停止代码执行。它将调用默认布局或视图文件。在这种情况下?>格式化将不起作用。
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';
    }
}
echo 'SUCCESS'; die;    
echo 'ERREUR'; die;