JavaScript变量不';我不在拉威尔工作

JavaScript变量不';我不在拉威尔工作,javascript,php,laravel,laravel-4,blade,Javascript,Php,Laravel,Laravel 4,Blade,我网站中的所有页面都有相同的标题。我是这样实现的: extends('layouts.main') return....->with(array( sucessfulMessage => 'asdf' )); 现在,在一些页面中,我需要发送一条成功的消息,而在其他页面中则不需要。我是这样实现的: extends('layouts.main') return....->with(array( sucessfulMessage => 'asdf' )); 请注意,我只

我网站中的所有页面都有相同的标题。我是这样实现的:

extends('layouts.main')
return....->with(array(
sucessfulMessage => 'asdf'
));
现在,在一些页面中,我需要发送一条成功的消息,而在其他页面中则不需要。我是这样实现的:

extends('layouts.main')
return....->with(array(
sucessfulMessage => 'asdf'
));
请注意,我只是在一些页面中这样做,而不是在所有页面中

现在我想在JavaScript中使用该变量。我在layout.main中这样做了:

<head>
    {{ HTML::script('/js/jquery-2.1.1.js')}}
    @if(isset($successfulMessage))
    <script>
        var successfulMessage = "{{$successfulMessage}}";
    </script>
    @endif
    {{ HTML::script('/js/myPopupScript.js')}}
</head>
我的问题 即使已发送成功消息,警报也始终为
test

重要提示 当我在Google Chrome中使用F12查看实际的HTML时,我可以看到:

<script>
        var successfulMessage = "asdf";
    </script>

var successfulMessage=“asdf”;

因此定义了变量。

更改这段代码:

编辑

尝试更改if/else javascript块中的条件

$(document).ready(function() {
     @if(isset($successfulMessage))
        var successfulMessage = {{$successfulMessage}};
    @endif

    if( !typeof successfulMessage === 'undefined' ) {
        alert("test");
    } else {
        alert(successfulMessage);
    }
});

希望它能起作用:)

对我有效的代码是:

$(document).ready(function(){
    var typeOfSuccessfulMessage = typeof successfulMessage;

    if(typeOfSuccessfulMessage == 'string'){
       alert(successfulMessage);
    }else{
        alert("undefined");
    }
});

非常感谢@martinezjc、@lowerends和@Cthulhu

!typeof successfulMessage===='undefined'
=
(!(typeof SuccessfullMessage))=='undefined'
false=='undefined'false@Cthulhu无法理解您的评论,您能解释一下吗?只是说如果考虑到正确的运算符优先级,您的条件将永远不会成立。您想要的是successfulMessage的类型!='undefined'@Cthulhu您说得对,因为我试图在条件之前定义变量,但仍然不起作用。这是一个很好的通知,请注意如何解决它?这里真正的问题是,当您尝试访问变量
successfulMessage
时,请记住,php首先执行的是服务器端和脚本加载。您的新代码仅在定义变量时工作,但在没有变量的情况下,我收到了以下错误消息:
Uncaught ReferenceError:successfulMessage未定义
您的第二个新代码有语法错误,无法在jquery函数中写入
@
,我已检查并告诉过您。不能用字母“写”jquery@martinezjc我需要两天时间来接受我自己的回答:)但我真的很感谢你的帮助