我是Yii2和Ajax的新手
我想为作品添加多个作业,因为我将id传递给WorkJobs控制器
这是我提交的ajax代码
<?php
$this->registerJs(
'$("body").on("beforeSubmit", "form#w1", function() {
var form = $(this);
if (form.find(".has-error").length) {
return false;
}
$.ajax({
var jobid = "<?php echo $id;?>";
url: form.attr("work-jobs/create&id="+jobid),
type: "post",
data: form.serialize(),
success: function(errors) {
alert("sdfsdf");
// How to update form with error messages?
}
});
return false;
});'
);
?>
但是它没有用,我不知道我的代码中有什么问题,请帮助...........
答案 0 :(得分:2)
更改您的代码,如下所示
<?php
$url=Yii::$app->urlManager->createUrl(['work-jobs/create','id'=>$id]);
$this->registerJs(
'$("body").on("beforeSubmit", "form#w1", function() {
var form = $(this);
if (form.find(".has-error").length) {
return false;
}
$.ajax({
url: "$url",
type: "post",
data: form.serialize(),
success: function(errors) {
alert("sdfsdf");
// How to update form with error messages?
}
});
return false;
});'
);
?>
答案 1 :(得分:0)
尝试在createAbsoluteUrl()
中使用url
,如下所示:
url: "<?php echo Yii::app()->createAbsoluteUrl(\"work-jobs/create&id=\")"+jobid
答案 2 :(得分:0)
建立jithin's answer,对$.ajax()
电话
与jithin's answer不同,您应该执行以下操作
beforeSubmit
事件,处理submit
事件。这将允许Yii clientsoide验证完成其工作ajax.success
回调以data
为参数;不是error
,而是ajax.failure
错误回调