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路线的一部分。