Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как передать переменную в контроллер? (AJAX+PHP+MVC) / 2 сообщений из 2, страница 1 из 1
25.05.2016, 05:07
    #39242817
sdfsgsdgggg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в контроллер? (AJAX+PHP+MVC)
Здравствуйте, пытаюсь передать POST переменную в контроллер на PHP через AJAX:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 $(".inp_pr").keypress(function(f) {
   if (f.which == 13) {
   dataString = 'qwe';
   $.ajax({
   type: "POST",
   url: "/prwrk/",
   data: 'dataString=' + dataString,
   success: function(data) {
   alert('<?php echo($data)?>');
   }
   });
   event.preventDefault();
   }
   });



Код контроллера:

Код: php
1.
2.
3.
4.
5.
 function action_index()
   {
    $data=$_POST['dataString'];
    $this->view->generate('prwrk_view.php', 'template_view.php',$data);
   }



AJAX успешно отправляет переменную, но в контроллер PHP она не приходит. Есть подозрения, что я не правильно указываю Url, но, даже прописывая прямой путь до нужного контроллера переменная не передается.

Код роутера:


Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
<?php
class Route
{
static function start()
{

    $controller_name = 'Main';
    $action_name = 'index';

    $routes = explode('/', $_SERVER['REQUEST_URI']);

    if ( !empty($routes[1]) )
    {   
        $controller_name = $routes[1];
    }




    if ( !empty($routes[2]) )
    {
        $action_name = $routes[2];
    }



    $model_name = 'Model_'.$controller_name;
    $controller_name = 'Controller_'.$controller_name;
    $action_name = 'action_'.$action_name;



    $model_file = strtolower($model_name).'.php';
    $model_path = "application/models/".$model_file;
    if(file_exists($model_path))
    {
        include "application/models/".$model_file;
    }


    $controller_file = strtolower($controller_name).'.php';
    $controller_path = "application/controllers/".$controller_file;
    if(file_exists($controller_path))
    {
        include "application/controllers/".$controller_file;
    }
    else
    {

        Route::ErrorPage404();
    }


    $controller = new $controller_name;
    $action = $action_name;

    if(method_exists($controller, $action))
    {

        $controller->$action();
    }
    else
    {

        Route::ErrorPage404();
    }

}

function ErrorPage404()
{
    $host = 'http://'.$_SERVER['HTTP_HOST'].'/';
    header('HTTP/1.1 404 Not Found');
    header("Status: 404 Not Found");
    header('Location:'.$host.'404');
}
}
?>




Как правильно отправить переменную в PHP-контроллер из AJAX?
...
Рейтинг: 0 / 0
25.05.2016, 16:43
    #39243356
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в контроллер? (AJAX+PHP+MVC)
у вас есть контроллер с именем Controller_prwrk.php и экшеном index ?

что консоль говорит? вкладка нетворк при посылке запроса
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как передать переменную в контроллер? (AJAX+PHP+MVC) / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]