Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Laravel 4-未捕获类型错误:无法读取属性';邮政';未定义的_Javascript_Jquery_Laravel_Laravel 4 - Fatal编程技术网

Javascript Laravel 4-未捕获类型错误:无法读取属性';邮政';未定义的

Javascript Laravel 4-未捕获类型错误:无法读取属性';邮政';未定义的,javascript,jquery,laravel,laravel-4,Javascript,Jquery,Laravel,Laravel 4,我有这个剧本: <script> function selectModSetProd(prodId,setId,objControl){ function ifOK(r){ objControl.style.background="'"+r.color+"'"; } function ifError(e){ alert('An error occurred when maki

我有这个剧本:

<script>
    function selectModSetProd(prodId,setId,objControl){

        function ifOK(r){
            objControl.style.background="'"+r.color+"'";
        }

         function ifError(e){
            alert('An error occurred when making the request: '+e.statusText);
        }

        function petition(prodId,setId,objControl){

            var data = {
               prod: prodId,
               set: setId,
            };

            var post = $.post("sql.php", data, ifOK, 'json');
            post.error(ifError);       

        }

       var set = objControl.value;
       if(confirm("Are you sure to start "+set+"?"))

            petition(prodId,setId,objControl);          
    }
</script>

功能选择ModSetProd(prodId、setId、objControl){
函数ifOK(r){
objControl.style.background=“””+r.color+“”;
}
函数ifError(e){
警报(“发出请求时出错:”+e.statusText);
}
功能请求(prodId、setId、objControl){
风险值数据={
prod:prodId,
set:setId,
};
var post=$.post(“sql.php”,数据,ifOK,'json');
后错误(ifError);
}
var set=objControl.value;
如果(确认(“您确定要启动“+设置+”?”)
请愿书(prodId、setId、objControl);
}
在laravel 4中,我有一个错误:“uncaughttypeerror:无法读取未定义的属性'post'”


有人能帮我解决这个错误吗?

用这个包装你的脚本

$(document).ready(function() {

});
$.post在加载angular之前不起作用

您的代码应为:

$(document).ready(function() {
function selectModSetProd(prodId,setId,objControl){

    function ifOK(r){
        objControl.style.background="'"+r.color+"'";
    }

     function ifError(e){
        alert('An error occurred when making the request: '+e.statusText);
    }

    function petition(prodId,setId,objControl){

        var data = {
           prod: prodId,
           set: setId,
        };

        var post = $.post("sql.php", data, ifOK, 'json');
        post.error(ifError);       

    }

   var set = objControl.value;
   if(confirm("Are you sure to start "+set+"?"))

        petition(prodId,setId,objControl);          
}
});

您很可能会遇到post错误,因为您的$.post试图转到laravel路由中未定义的sql.php

将脚本从sql.php更新为{{url()./sql'}

并将sql路由添加到laravel路由

这是一个简单的解决方案,或者您可以创建一个更restful的方法来处理ajax路由和控制器。更多信息请访问laravel.com


顺便说一句,你应该总是包装你的jquery,以确保它像我之前发布的那样加载。

我不知道什么是laravel,但你是否在页面的某个地方包含了jquery?$似乎未定义,这是jQuery对象。还可以尝试使用“jQuery.post”而不是“$.post”是否确实加载了jQuery?您的错误很可能是因为您的
窗口。$
未定义。是的,因为我可以看到确认或不确认的消息,但如果我确认,我会收到此错误如果我将您所说的内容输入,则没有任何效果,我看不到要确认的消息,并且会收到其他错误:未捕获引用错误:$未定义prodList:132(匿名函数)prodList:132未捕获引用错误:selectModSetProd未定义prodList:91是否链接到jquery库?是的,这是:如果您使用的是laravel,是否可以测试是否可以点击sql.php。通常,laravel不会提供sql.php。你需要把它作为你的laravel路线的一部分。