簡體   English   中英

Yii2 Ajax提交不起作用

[英]Yii2 Ajax Submission not working

Iam是Yii2和Ajax的新手

我想為一個工作添加多個工作,為此我將id傳遞給WorkJobs Controller

這是我提交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;
    });'
);
 ?>

但這不起作用,我不知道我的代碼出了什么問題,請幫助........

如下更改代碼

<?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;
    });'
);
 ?>

嘗試像這樣在url使用createAbsoluteUrl()

url: "<?php echo Yii::app()->createAbsoluteUrl(\"work-jobs/create&id=\")"+jobid

建立jithin的答案 ,對$.ajax()調用進行以下更改

  • 確保您的URL用引號引起來。 當在PHP中散布網址時,忘記引用該網址是一個常見的錯誤。 [jithin]

jithin的答案不同,您應該執行以下操作

  • 而不是響應beforeSubmit事件,處理submit事件。 這將使Yii客戶可以驗證他們的工作
  • ajax.success回調將data作為參數; 不是error ,存在ajax.failure回調以獲取錯誤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM