Chuyển tới nội dung
Home » Yii Ajax Call Controller Action | Yii Ajax Call Controller Action

Yii Ajax Call Controller Action | Yii Ajax Call Controller Action

ASP.NET CORE : Call Controller Action Method using JQuery AJAX

Ensure Ajax Call to Controller

First thing first. We need to enable Ajax between the view and the controller. This can be easily found on google and Yii page did demonstrate a very neat way of doing this. So let’s use the example one shown on Yii CActiveform page.

On the view side, we have the following code:


beginWidget(‘CActiveForm’, array( ‘id’=>’user-form’, ‘enableAjaxValidation’=>true, ‘focus’=>array($model,’firstName’), )); ?>

errorSummary($model); ?>


labelEx($model,’firstName’); ?>

textField($model,’firstName’); ?>

error($model,’firstName’); ?>

labelEx($model,’lastName’); ?>

textField($model,’lastName’); ?>

error($model,’lastName’); ?>


endWidget(); ?>

On the view side, we will need to use $this->beginWidget(‘CActiveForm’, array(…. to create our form tag in order for ajax to work properly on your view. The $form->error is needed for the native Yii jQuery library,yiiactiveform, to be included.

On the controller, we have the following code:

public function actionCreate() { $model=new User; $this->performAjaxValidation($model); if(isset($_POST[‘User’])) { $model->attributes=$_POST[‘User’]; if($model->save()) $this->redirect(‘index’); } $this->render(‘create’,array(‘model’=>$model)); } protected function performAjaxValidation($model) { if(isset($_POST[‘ajax’]) && $_POST[‘ajax’]===’user-form’) { echo CActiveForm::validate($model); Yii::app()->end(); } }

Do take note of the protected function called performAjaxValidation. This is needed for you to validate through ajax. The below code is equally important for the controller to start validating through ajax call.

$this->performAjaxValidation($model);

This is all the controller needs to validate ajax calls.

Once you have your Yii ajax setup, you should be able to make ajax call using Yii native jQuery library which doesn’t really give you the flexibility you need. In this case, we will have to make our own jQuery code to interact with Yii Controller.

yii ajax call controller action

AJAX (Asynchronous JavaScript and XML) là một công nghệ phổ biến được sử dụng trong việc giao tiếp với máy chủ mà không cần phải làm mới trang web. Nó giúp tạo ra các trang web tương tác, nhanh chóng và không làm người dùng phải chờ đợi quá lâu.

Yii là một framework phát triển ứng dụng web mạnh mẽ và linh hoạt. Nó cung cấp nhiều tính năng và công cụ để giúp lập trình viên xây dựng các ứng dụng web nhanh chóng và dễ dàng. Trong Yii, chúng ta có thể dễ dàng gọi một controller action bằng AJAX để xử lý yêu cầu của người dùng mà không cần phải làm mới trang web.

Để xây dựng một controller action trong Yii để xử lý yêu cầu AJAX, chúng ta cần tạo một action trong file Controller tương ứng. Ví dụ, nếu chúng ta muốn tạo một action để lấy dữ liệu từ một bảng trong CSDL và trả về dưới dạng JSON, chúng ta có thể tạo một action như sau:

“`phppublic function actionGetData(){$data = MyModel::find()->all();

// Chuyển đổi dữ liệu sang định dạng JSON$jsonData = json_encode($data);

// Trả về kết quả dưới dạng JSONYii::$app->response->format = \yii\web\Response::FORMAT_JSON;return $jsonData;}“`

Trong action trên, chúng ta sử dụng lớp `MyModel` để truy vấn dữ liệu từ bảng tương ứng trong CSDL. Sau đó, chúng ta chuyển đổi dữ liệu thành định dạng JSON bằng cách sử dụng hàm `json_encode()`. Cuối cùng, chúng ta đặt định dạng trả về của Response thành JSON và trả về dữ liệu.

Sau khi xây dựng action trong Controller, chúng ta có thể sử dụng jQuery để gọi AJAX đến action đó. Đầu tiên, chúng ta cần định nghĩa một thẻ HTML cho nút hoặc sự kiện mà chúng ta muốn gọi action. Ví dụ, nếu chúng ta muốn gọi action khi người dùng nhấn vào một nút, chúng ta có thể sử dụng thẻ `

“`html“`

Tiếp theo, chúng ta sử dụng jQuery để bắt sự kiện click của nút và gọi action bằng AJAX. Chúng ta cần chỉ định địa chỉ của action và các tham số cần thiết (nếu có). Ví dụ:

“`javascript$(‘#btnGetData’).click(function(){$.ajax({url: ‘/controller/get-data’,type: ‘GET’,success: function(data){// Xử lý dữ liệu trả vềconsole.log(data);},error: function(){// Xử lý lỗi (nếu có)}});});“`

Trong ví dụ trên, chúng ta sử dụng phương thức `$.ajax()` của jQuery để gọi AJAX đến action `get-data` trong `Controller`. Phương thức `ajax()` nhận một đối tượng cấu hình với các thuộc tính như `url` (địa chỉ của action), `type` (phương thức HTTP), `success` (hàm được gọi khi yêu cầu thành công) và `error` (hàm được gọi khi có lỗi xảy ra). Trong hàm `success`, chúng ta có thể xử lý dữ liệu trả về từ action.

Khi browser nhận được dữ liệu trả về từ action thông qua AJAX, chúng ta có thể xử lý và hiển thị dữ liệu đó. Trong ví dụ trên, chúng ta sử dụng hàm `console.log()` để hiển thị dữ liệu trả về trong console của trình duyệt. Tuy nhiên, chúng ta cũng có thể sử dụng các phương thức khác như `.html()` hoặc `.append()` để hiển thị dữ liệu trên trang web.

Trong quá trình gọi AJAX đến action của controller, có thể xảy ra lỗi hoặc cần thực hiện xác thực. Để xử lý lỗi, chúng ta có thể sử dụng hàm `error` trong đối tượng cấu hình của AJAX như đã đề cập ở trên. Trong hàm này, chúng ta có thể hiển thị thông báo lỗi hoặc thực hiện các xử lý khác như chuyển hướng người dùng đến trang khác.

Đối với xác thực, chúng ta có thể sử dụng các cơ chế xác thực có sẵn trong Yii như cookie, token hoặc phương pháp xác thực người dùng khác. Chúng ta có thể kiểm tra xác thực trong action của controller và trả về mã không xác thực nếu cần thiết. Trong trường hợp này, chúng ta có thể sử dụng hàm `error` trong AJAX để xử lý mã không xác thực trả về từ controller.

FAQs (Các câu hỏi thường gặp):

1. Tại sao chúng ta cần sử dụng AJAX để gọi controller action trong Yii?– Sử dụng AJAX giúp tạo ra các trang web tương tác, nhanh chóng và không làm người dùng phải chờ đợi quá lâu mỗi khi gửi yêu cầu đến máy chủ.

2. Tôi có thể sử dụng bất kỳ thư viện JavaScript nào khác để gọi controller action trong Yii không?– Có, Yii hỗ trợ việc sử dụng bất kỳ thư viện JavaScript nào để gọi controller action, nhưng ví dụ trong bài viết này sử dụng jQuery.

3. Làm thế nào để xử lý dữ liệu trả về từ controller action khi sử dụng AJAX trong Yii?– Chúng ta có thể sử dụng hàm `success` trong AJAX để xử lý dữ liệu trả về từ controller action, ví dụ như hiển thị dữ liệu lên trang web hoặc thực hiện các thao tác khác trên dữ liệu.

4. Tôi cần xử lý lỗi trong quá trình gọi controller action bằng AJAX, làm thế nào để làm điều đó?– Chúng ta có thể sử dụng hàm `error` trong AJAX để xử lý lỗi trong quá trình gọi controller action. Trong hàm này, chúng ta có thể hiển thị thông báo lỗi hoặc thực hiện các xử lý khác như chuyển hướng người dùng đến trang khác.

5. Làm thế nào để xác thực cuộc gọi controller action bằng AJAX trong Yii?– Chúng ta có thể sử dụng các cơ chế xác thực có sẵn trong Yii như cookie, token hoặc phương pháp xác thực người dùng khác. Chúng ta có thể kiểm tra xác thực trong action của controller và trả về mã không xác thực nếu cần thiết. Trong trường hợp này, chúng ta có thể sử dụng hàm `error` trong AJAX để xử lý mã không xác thực trả về từ controller.

Trên đây là cách gọi controller action bằng AJAX trong Yii. Bằng cách sử dụng AJAX, chúng ta có thể tạo ra các trang web tương tác và linh hoạt hơn, đồng thời cung cấp trải nghiệm người dùng tốt hơn.

Từ khoá người dùng tìm kiếm: yii ajax call controller action yii2 ajax post data

Chuyên mục: Top 50 yii ajax call controller action

ASP.NET CORE : Call Controller Action Method using JQuery AJAX

Xem thêm tại đây: hanoilaw.vn

ASP.NET CORE : Call Controller Action Method using JQuery AJAX
ASP.NET CORE : Call Controller Action Method using JQuery AJAX

I’m new to programming, and I’m trying to call a function when the user inputs data and clicks submit button. I’m using Yii2 and I’m not familiar with Ajax. I tried developing a function, but my controller action isn’t called.

Here is the example code I’m trying:

views/index.php:



Supermarkets


Controller:


public function actionSample(){ echo "ok"; }

My problem is that when I click on the Search button nothing happens, and when I try to debug it, the debugger runs no code!

Well you probably need to do a little reading then.

I have not read this article, but this is the sort of content you want to look for. MVC or Model View Controller topics relating to Yii2. There is a few out there for Yii, and its good for getting the idea, but you really want your head in Yii2 now, not Yii 1.*.

Try this article out for a start.

Now to your problem.

I would recommend using everything out the box until you understand how it all works.

So stick with the SiteController do not change it to FileController

Now to start off with in @app/config/web.php

Add this in there, it is used for simplifying urls so youdomain.com/index.html will goto your index action, simple. Also a bit of setup for using /gii also, you might want that later so i left it in.

More information here: http://www.bsourcecode.com/yiiframework2/url-manager-in-yiiframework-2-0/#configure-url-rules


$config = [
... , // Do not include this .. its to show other content might be here.
'components' => [
... , // Do not include this
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'suffix' => '.html',
//'cache' => 'cache',
//'scriptUrl' => '',
'baseUrl' => '/',
//'hostInfo' => 'http://www.yourhost.com.au',
'routeParam' => 'r',
'ruleConfig' => [
'class' => 'yii\web\UrlRule'
],
'rules' => array(
[
'pattern' => 'gii',
'suffix' => '',
'route' => 'gii',
],
[
'pattern' => '/

',
'suffix' => '',
'route' => 'gii/

',
],
[
'pattern' => '/

/

',
'suffix' => '',
'route' => 'gii/

/

',
],
'' => 'site/index',
[
'pattern' => '

',
'suffix' => '.html',
'route' => 'site/

',
],
),
],
... , // Do not include this
]
];








Secondly you need to add a .htaccess file to @web/.htaccess

This is so all requests get redirected to your index.php file again so Yii2 can look at the query you made.



RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php$1 [L,NC]

Now for @app/controllers/SiteController.php

In this file you basically had what you needed, but I am including more options for you to play with.

So add the following maybe below the actionIndex() function.

Also check out http://www.yiiframework.com/doc-2.0/guide-runtime-responses.html


public function actionLog()
{
if (Yii::$app->request->isAjax) {
$data = Yii::$app->request->post();
$filename = $data['name'];
//$log = new History();
//$log->name = $filename;
//$log->save();
$response = Yii::$app->response;
$response->format = \yii\web\Response::FORMAT_JSON;
$response->data = ['filename' => $filename];
$response->statusCode = 200;
return $response;
}
else throw new \yii\web\BadRequestHttpException;
}

And finally in a view file, I am using the index file @app/views/site/index.php

Add this anywhere in the file, it is just a simple ajax link.



'Ajax Title',
'onclick'=>"
$.ajax({
type :'POST',
cache : false,
data: {name: 'myfilename'},
url : '".Url::to(['site/log'])."',
success : function(response) {
console.log('success: '+response.filename);
},
error: function(){
console.log('failure');
}
});return false;",
]);
?>

Now when you goto yourdomain/index.html and click that link you will get a response in the console of “success: myfilename”.

But if you went to yourdomain/log.html you will notice you get a “Bad Request (#400)” error because you are trying to access the log action directly and not via ajax. That is because we throw that exception in the log action.

[i]

NOTE: Now just as a disclaimer, I would not be making any important changes to databases or the like based on an ajax call. This is client side stuff so you need to make sure the controller action is protected from any sort of injection.[/i]

I hope that is all clear enough for you,

Noddy.

yii2 ajax post data

Gửi dữ liệu AJAX trong Yii2 rất dễ dàng. Chúng ta chỉ cần sử dụng lớp JQuery ajax và kết hợp nó với hàm yii.ajax để tạo ra một yêu cầu AJAX. Đầu tiên, chúng ta phải import jquery.ajax trong tệp giao diện người dùng của chúng ta. Điều này có thể được làm bằng cách thêm dòng sau vào khối đăng ký tài sản của chúng ta:

“`phpuse yii\web\JqueryAsset;…$this->registerAssetBundle(JqueryAsset::className());“`

Sau khi đã import jquery.ajax, chúng ta có thể tạo ra yêu cầu AJAX bằng cách sử dụng hàm yii.ajax như sau:

“`javascriptyii.ajax({url: ‘url_tuong_tac’,method: ‘post’,data: { key1: ‘value1’, key2: ‘value2’ },dataType: ‘json’,success: function(data) {// Xử lý dữ liệu kết quả}});“`

Trong đoạn mã trên, chúng ta đã đặt url_tuong_tac là URL mà chúng ta muốn gửi yêu cầu AJAX đến. Phương thức đã được đặt là ‘post’ vì chúng ta đang gửi dữ liệu. Chúng ta có thể thay đổi nó thành ‘get’ nếu chúng ta muốn gửi yêu cầu AJAX bằng phương thức GET.

Dữ liệu được gửi đi đã được đặt trong thuộc tính data. Trong ví dụ trên, chúng ta đã gửi hai giá trị là ‘value1’ và ‘value2’ với hai khóa là ‘key1’ và ‘key2’.

Loại dữ liệu mà chúng ta mong đợi từ phản hồi AJAX được đặt trong thuộc tính dataType. Trong trường hợp này, chúng tôi mong đợi dữ liệu phản hồi là định dạng JSON. Bạn có thể thay đổi nó thành ‘html’ hoặc ‘text’ tùy thuộc vào loại dữ liệu bạn đang nhận được.

Cuối cùng, chúng ta cung cấp một hàm callBack, được gọi là success, cho phép chúng ta xử lý dữ liệu phản hồi từ yêu cầu AJAX của chúng ta. Trong ví dụ này, chúng ta có thể truy cập vào dữ liệu bằng cách sử dụng biến data.

Ngoài ra, Yii2 cung cấp một cách tiện lợi để gửi dữ liệu AJAX thông qua một Form. Chúng ta chỉ cần sử dụng hàm yii.ajax và truyền một đối tượng form như là một trong các tham số. Yii2 sẽ tự động thu thập các giá trị từ form và gửi chúng dưới dạng dữ liệu AJAX. Dưới đây là một ví dụ về cách gửi dữ liệu AJAX từ một đối tượng form:

“`javascriptvar form = yii.activeForm(‘form-id’);yii.ajax({url: ‘url_tuong_tac’,method: ‘post’,data: form.serialize(),dataType: ‘json’,success: function(data) {// Xử lý dữ liệu kết quả}});“`

Với ví dụ trên, chúng ta đã thu thập giá trị từ form có ID là ‘form-id’ và truyền chúng dưới dạng dữ liệu AJAX.

FAQs:

1. AJAX gì và tại sao chúng ta nên sử dụng nó trong Yii2?AJAX là viết tắt của Asynchronous JavaScript and XML. Nó là một công nghệ cho phép chúng ta tương tác với máy chủ mà không cần tải lại hoàn toàn trang web. AJAX giúp cải thiện trải nghiệm người dùng và giảm thời gian tải trang. Trong Yii2, chúng ta có thể sử dụng AJAX để gửi và nhận dữ liệu một cách bất đồng bộ.

2. Làm thế nào để xử lý dữ liệu phản hồi từ một yêu cầu AJAX trong Yii2?Yii2 cung cấp các phương thức hỗ trợ để xử lý dữ liệu phản hồi từ một yêu cầu AJAX. Chúng ta có thể sử dụng phương thức success, error hoặc complete của đối tượng jqXHR để xử lý dữ liệu phản hồi. Đối với việc xử lý dữ liệu phản hồi dạng JSON, chúng ta có thể truy cập vào các thuộc tính trong biến data.

3. Làm thế nào để gửi dữ liệu form thông qua AJAX trong Yii2?Yii2 cung cấp một cách tiện lợi để gửi dữ liệu từ một form thông qua AJAX. Chúng ta chỉ cần sử dụng hàm yii.ajax và truyền một đối tượng form như là một trong các tham số. Yii2 sẽ tự động thu thập các giá trị từ form và gửi chúng dưới dạng dữ liệu AJAX.

Trên đây là hướng dẫn chi tiết về cách gửi dữ liệu thông qua AJAX trong Yii2. AJAX là một công nghệ rất hữu ích, và việc sử dụng nó trong Yii2 giúp tăng trải nghiệm người dùng và hiệu suất của ứng dụng web của bạn. Hy vọng rằng bài viết này đã giúp bạn hiểu rõ hơn về AJAX trong Yii2 và cách sử dụng nó.

Hình ảnh liên quan đến chủ đề yii ajax call controller action

Link bài viết: yii ajax call controller action.

Xem thêm thông tin về bài chủ đề này yii ajax call controller action.

  • Ajax + Controller Action in Yii2 – Stack Overflow
  • How to call Ajax function and Controller Action
  • Yii: How to Customize Ajax Call To Controller Without Using …
  • yii2 Tutorial => Submitting Ajax form
  • Yii – Using Actions – Tutorialspoint
  • Controller Actions | Craft CMS Documentation | 4.x
  • Yii Ajax Request and JSON Response Array – Bsourcecode
  • Using AJAX | Yii2 By Example – Packt Subscription

Xem thêm: https://hanoilaw.vn/category/blog blog

In doing internet searches trying to learn how to incorporated ajax into web pages generated by the yii framework I noticed that there seems to be a lot of confusion. I worry that too-clever hacks will be broken in upgrades of the framework.

I am documenting the way I do it (if this is way off base then someone please give me a ‘heads up’). Note I’m hard-coding the jQuery because my site is heavily javascript-based anyway.

The basic procedure is to (1) write the code that responds to (processes) the ajax call as an action in a controller and (2) call the action with the (yii-framework) appropriate url in the jQuery method. I’ll call the controller AppController.php and the view will be under protected/views/app/index.php. Both are automagically created by gii.

The view (protected/views/app/index.php) is the part of the web app your users are interacting with on the page. As such, it needs to import the javascript files. This is done by ‘registering’ the scripts at the ‘top’ of the file. In our case, with scripts in a directory called ‘js’ just under the document root for the app, we have


/* @var $this AppController */ $this->breadcrumbs=array( 'App', ); // Include the client scripts $baseUrl = Yii::app()->baseUrl; $cs = Yii::app()->getClientScript(); $cs->registerScriptFile($baseUrl.'/js/ajaxScript.js'); // more scripts would be added here by registering their filenames if needed

(After this in the view file is the html business.)

The controller is /protected/controllers/AppController.php

In AppController.php we have an action method


public function actionAjaxProcessor(){ $a = $_POST['ajaxData']; // process $a and get output $b // output some JSON instead of the usual text/html header('Content-Type: application/json; charset="UTF-8"'); echo CJSON::encode(array('output'=>$b)); }

Finally, ajaxScript.js has this for the ajax call:


[javascript] ajaxCall = function(a){ jQuery.ajax({ // The url must be appropriate for your configuration; // this works with the default config of 1.1.11 url: 'index.php?r=app/ajaxProcessor', type: "POST", data: {ajaxData: a}, error: function(xhr,tStatus,e){ if(!xhr){ alert(" We have an error "); alert(tStatus+" "+e.message); }else{ alert("else: "+e.message); // the great unknown } }, success: function(resp){ nextThingToDo(resp); // deal with data returned } }); };

The script will bind this function to a button click or other event, usually. See the jQuery website documentation (it is excellent) for more about this.

Note how we get to the controller action by using our usual controller/action url scheme in the ajax call.

This is all you need to do to modify the normal “php + ajax way” to the yii framework. I hope it saves some other newbies some time.

Why this won’t (always) work ¶

The URL of the AJAX request is relative: “index.php?r=app/ajaxProcessor”. It makes 2 assumptions:

  • The page that initiates the call has an URL ending with “index.php” or its directory.
  • Yii reads the route (controller and action) through the GET parameter “r”.

With a recent version of Yii, both assumptions can be wrong depending on the configuration of the application.

The solutions ¶

You can’t guess the webservice URL in pure Javascript! This URL will depend on the configuration of the application. So there are at least 2 solutions that mix in PHP and JS:

  • Make the JS file a PHP template
  • Provide JS variables from the main PHP view.

I’m new to programming, and I’m trying to call a function when the user inputs data and clicks submit button. I’m using Yii2 and I’m not familiar with Ajax. I tried developing a function, but my controller action isn’t called.

Here is the example code I’m trying:

views/index.php:



Supermarkets


Controller:


public function actionSample(){ echo "ok"; }

My problem is that when I click on the Search button nothing happens, and when I try to debug it, the debugger runs no code!

I am very novice to Yii.There is a view file

absence.php

which submits data of a CActiveForm to a controller file

personal.php

inside of which there is a public function

createabsence()

which does everything: server validation, communication with the database and message handling.



beginWidget('CActiveForm',['id'=>'createAbsence','enableAJAXValidation'=>true]); ... echo CHtml::submitButton('GO'); $this->endWidget(); ?>

The above code is part of the view file; everything works fine. Form data passes to the controller and I am getting a response from the server. My problem is that the call to the controller is not an AJAX call and I have no idea how to convert this call to an AJAX call. Of course I know how to do that when dealing with something usual, however I do not know what I have to add/change in Yii.

Thank you

This is another interesting article that will definitely help many Yii developers and its community. The situation was that I wanted to use my own jQuery code to send and receives the value returned by Yii controller. However, it seems to always return me with the whole html page text. On the client side, i wasn’t using any jQuery Yii code. Instead, i wrote out the logic to fit in my theme properly. The tricky part was to sent in ajax call to Yii controller. In this article, i will try to explain how this can be done without using the native jQuery Yii code. (hopefully things won’t get too confusing)

Ajax calls to .Net5 MVC Controllers (using JQuery)
Ajax calls to .Net5 MVC Controllers (using JQuery)

Making Your Own jQuery Code To Send Request To Yii Controller

Now we will need to write our own jQuery code to sent request to Yii controller. From the above Yii view code, we will need to slightly alter some value so that the Yii native jQuery code library, yiiactiveform doesn’t get populated. I also added an additional div block with the id ‘error’ so that our error can be placed in there.


beginWidget(‘CActiveForm’, array( ‘id’=>’user-form’, ‘enableAjaxValidation’=>true, ‘focus’=>array($model,’firstName’), )); ?>

errorSummary($model); ?>


labelEx($model,’firstName’); ?>

textField($model,’firstName’); ?>

labelEx($model,’lastName’); ?>

textField($model,’lastName’); ?>


endWidget(); ?>

After all the long winded talk, i shall show you how this is being done.

$(document).ready(function() { $(‘#user-form’).submit(function(event) { event.preventDefault(); var $form = $(this); $.ajax({ url: $(this).attr(‘action’), dataType: ‘json’, type: ‘POST’, data : $form.serialize()+’&ajax=’+$form.attr(‘id’), success: function(data, textStatus, XMLHttpRequest) { if (data != null && typeof data == ‘object’){ $.each(data, function(key, value){ $(‘#error’).append(value); }); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { } }); return false; } }

If you study jquery.yiiactiveform.js closely or saw that the controller is looking for a post key to determine an ajax call, you will notice that the reason why you are failing to get a proper json object back from the controller was because you did not append the parameter ‘ajax’ on to the data section, you will need to append the ajax key into it so that the controller will treat it as an ajax caller and return the appropriate json object to you instead of the return page string. And this is the reason why the below controller method is so important for this to work.

protected function performAjaxValidation($model) { if(isset($_POST[‘ajax’]) && $_POST[‘ajax’]===’user-form’) { echo CActiveForm::validate($model); Yii::app()->end(); } }

got it? hope it helps 🙂

You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert

After consulting the irc channel, looking for documentation in the guide on that topic and looking for other people having the same problem without any result, I think this could be a bug or just non-documented behavior.

I’m using PHP 5.5

Bad Request (#400): Missing required parameters: form

I have prettyUrls enabled, which is why the post request is adressed to ‘spot/edit-video’.
It works when there are no paremeters in the action.
Javascript part (I’m using www.riotjs.com as my clientside framework/UI lib):

You maybe like other following related articles

of string to a MVC Action by Ajax:

method to post and what route parameters to pass?, When you have an action with a parameter, the MVC runtime uses a model binder to build, it default to using the same controller/action used to render the current page., It assumes you’ll have an action with the correct name on your controller that will accept postbacks, It automatically binds each input control (by name) to the parameters of the action accepting

}/{action}/{id}/{name}”, // URL with parameters new { controller = “Home”, action, instead of details “{home}/{action}/{id}/{name}”, // URL with parameters, }/{action}/{id}”, // URL with parameters new { controller = “Home”, action = “Index”, id, So if you’re trying to invoke an action from another controller, you’ll have to specify the controller, int rk { get; set; } } then, use the Html.Action passing

controller action ., Solution 2: I have to pass two parameters, like: /Controller/Action/Param1Value/Param2Value

$this->redirect($this->createUrl(‘controller/action’)); During the redirection is it possible to pass any parameters just like in, GET parameters in the Yii 2 redirect() ., Here is an example of using it in two separate controller actions: public function, Yii does not support any function that helps you to create outbound urls with query parameters.

parameters from action filter to the controllers actions but with no luck., When I debug my application I don’t get a value for my controller action parameter it, when I declare it under an API call my action parameter become null., Your controller will take a different action according to that parameter (not much different than a check, How to pass parameters to a custom ActionFilter in ASP.NET MVC 2?

ajax to a controller action ?, The action is still controller/action/11/12/2011 which doesn’t work…any help pleasE?, url: ‘/YourController/SomeMethod’, method: ‘GET’, data: parameters, cache: false,, any View or Actions., actions as well.

strong> Solution: Wrap it in an anonymous function wherein you pass, /myAction.action”; var type = “type1”; var FormD = ‘

Question: i need to pass input value to action, the value of input to parameter and re back to the same view but in post status i tried, method in controller., new { controller = “Home”, action = “Index” }); And the action

But I can’t pass the array to my controller’s function to delete each selected entity in the database, I’ve used all the solutions included for this questions: Pass a List from javascript to controller., ints from via AJAX to an MVC action and I need a little help., and the controller action is public ActionResult, How should I be passing that array into my get so that the controller can recognise what it is?

php echo $form->textField($model,’order_id’,array(‘class’ => ‘form-control’, ‘ajax’ =>, action is recieveValue what I wrote in the ajax URL as ‘url, php echo Yii::app()->controller->createUrl(‘Language/switchLanguage’,array(‘language’=>’en’), php echo Yii::app()->controller->createUrl(‘switchLanguage’,array(‘language’=>’en’)); ?, name. just pass the action Name without the action keyword as

Question: I am trying to pass value parameter through the, ajax call to the controller., I am struggling to find a way to pass parameters through this ajax url., Question: AJAX function is not passing Id parameter to GET,

php namespace app\modules\help\controllers; use yii\base\Action; class IndexAction extends Action {, php namespace app\modules\help\controllers; use yii\web\Controller; class DefaultController extends Controller, The stand alone action is in a subdirectory of controllers., ;save()) { return \Yii::$app->runAction(‘/controller/action-name’, [‘form2_id’=>$model->id]), ; } On OneController actionCreate add parameter with default value

For example using this code you can get controller, action and all other routing parameters, protected override void OnException(ExceptionContext filterContext) { string action, = filterContext.RouteData.Values[“action”].ToString(); string controller = filterContext.RouteData.Values, As far as Action Parameters go, you will need to pass them explicitly., User197322208 posted on your onException method pass

values from an Ajax form in MVC to a controller action., in a single value but if I pass in multiple values the controller just gets ‘null’., Create you parameters as a JSON object and pass it to $.ajax, more than one value to the action unless you do the processing within the controller function., I have the following controller action: public ActionResult CreateOrders

I’ve got a getAjax.php controller at vendorName\moduleName\Controller\Index, php namespace vendorName\moduleName\Controller\Index; use Magento\Framework\App\Action\Context; class, My Action in my Controller is as follows: public ActionResult TestMove()//UploadModel, Change the “Functions” parameter in the url string, Do I need to define a new action in the controller and store the file in the views-folder?

You don’t need to specify any dataType parameters: success, call so that its key matches the parameter on the controller (that is, Id , data from an action method when it redirects to another action method.”, in my controller., I want the SECOND Index Action to get hit.

to controller action. show an error,The Parameters dictionary contains a null entry for parameter, return RedirectToAction(…); } However, I want to pass an additional parameter, multiple parameters to an actionResult on the same controller., I’ve also tried to pass the ” leadid ” parameter inside the form declaration (new {leadID, view or pass it as argument while redirecting to action Solution 4:

: The controller successfully receives the id passed from the client( the table row click, However, I now have a GET action and I’ve noticed that the parameter values passed to it are null., Parameters with those actions work just fine., But the parameters with my GET actions, like the one above, have null values., My question is, what am I doing wrong and what if I need to pass multiple parameters?

And currently, I have such controller: @RestController @RequestMapping(“users”) public, service.incUserRate(userId); } } But, I want to get user by the token in the filter and pass, Autowired private UserRepository userRepository; public boolean supportsParameter(MethodParameter parameter, parameter.isAnnotationPresent(AuthorizedUser.class); } public Object resolveArgument(MethodParameter parameter, 100px; height: 80px; }

Keywords searched by users: yii ajax call controller action

Undefined Value - Data Ajax Javascript - General Discussion - Yii Framework  Forum
Undefined Value – Data Ajax Javascript – General Discussion – Yii Framework Forum
Yii2 Controllers E2: Controller Life Cycle, Events - Yii2 Tutorials | Part  5 - Youtube
Yii2 Controllers E2: Controller Life Cycle, Events – Yii2 Tutorials | Part 5 – Youtube

See more here: kientrucannam.vn

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *