Форма AJAX после ответа цикла в Laravel 4.1. *

-1

У меня довольно старый сайт, который я унаследовал как часть новой позиции - он был построен для спецификации версии Laravel 4.1. *.

Моя проблема - Response::json возвращающая неопределенные переменные в ответе, используя стандартный метод post AJAX со всеми материалами CSRF и ajaxSetup(), определенными правильно.

application.blade.php

 $.ajax({
   type: 'POST', //This will always be a post method for the supplier chain check form.
   url: 'supply-us/application', //URL endpoint for the post form method: we'll set this to the controller function we're targeting.
   data: { 'companyName': values['companyName'] }, //This will carry the form data that is needed to be passed to the server.
   success: function (response) {
       console.log(response['companyName']); << THIS LINE RETURNS "undefined"

       console.log(typeof response) << THIS LINE RETURNS string
   },
   error: function (response) {
       console.log(response);
   },
 }); 

values ['companyName'] возвращает то, что я ввел в форму. Вышеупомянутый "ответ" простой патрон назад html - так, я думаю, что мои маршруты могут быть неправильно определены или неверно определены в параметре URL-адреса AJAX, возможно? Вот два применимых маршрута:

routes.php

Route::controller('supply-us/application', 'ApplicationController');
Route::post('supply-us/application', 'ApplicationController@processSupplierApplication');

ApplicationController.php:

<?php

use Illuminate\Http\Request;

class ApplicationController extends FrontController {
  public function getSupplierApplication() {
         return self::getPage('supply-us/application');
    }

  public function processSupplierApplication(Request $request) {
    if (Input::has('companyName')) {

       $this->companyName = Input::get('companyName');

       $data = [
          'success': true,
          'companyName': $this->companyName
       ];

       return response()->json($data);

    }

  }

}

Любые про-советы будут очень признательны!

  • 1
    Что вы получаете после console.log(response); в успехе AJAX
  • 0
    @michael попробуйте этот console.log (response.companyName);
Показать ещё 9 комментариев
Теги:
laravel-4

1 ответ

0

чтобы проверить, что у вас отсутствует в контроллере при публикации или получении результата, который я обычно соблюдаю

  1. в blade.php

    <.form method="post" action="{{url('supply-us/application')}}".>
      {{csrf_field()}}
      <.input type="text" name="companyName".>
      <./form.>

remove dot попробуйте это, это поможет вам найти недостающую вещь в контроллере

в лезвии

<.input type="text" name="companyName" id="companyName".>

в вашем ajax

 var company =  $('#companyName').val();
  $.ajax({
      type: 'POST',
      url: 'supply-us/application', 
      data: { 'Company':company,'_token': '{{ csrf_token() }}'  }, 
  success: function (response) {
    alert(data) // if this not work then try this alert(data.company)

  },
  error: function (response) {
   console.log(response);
 },
}); 

в вашем контроллере

<?php use Illuminate\Http\Request; use Illuminate\Support\Facades\Input; class ApplicationController extends FrontController { public function getSupplierApplication() { return self::getPage('supply-us/application'); } public function processSupplierApplication(Request $req) { if (!$req->get('Company')==null) { $company = $req->get('Company'); return response()->json($company); }else{ $company="no input give"; return response()->json($company); } }

}

  • 0
    Привет, Бипин - хммм, хорошо - я использую protectDefault с моей записью AJAX, поэтому я бы не хотел идти дальше. Это отзывчивая форма. Я делаю все вещи CSRF. Проблема в том, что возвращающиеся данные возвращаются неопределенными. Я просто хочу знать, как принимать данные в функции post controller @ и затем обрабатывать эти данные, а затем отправлять данные обратно в представление. Это действительно не должно быть таким сложным imho. Я могу сделать это с Джанго без проблем вообще. Почему Ларавел такой боли ??
  • 0
    @MichaelRoberts обновленный ответ, пожалуйста, проверьте, надеюсь, это поможет вам
Показать ещё 10 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню