php
  • jquery
  • ajax
  • model-view-controller
  • 2016-05-25 6 views 0 likes 
    0

    に変数を投稿する方法:コントローラ(PHP + AJAX + MVC)私はアヤックスとPHPのコントローラに変数を投稿しようとしている

    $(".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(); 
    } 
    }); 
    

    コントローラーソース:

    function action_index() 
    { 
    $data=$_POST['dataString']; 
    $this->view->generate('prwrk_view.php', 'template_view.php',$data); 
    } 
    

    Ajaxのポスト変数の成功をコントローラーはそれを持っていません。私は、それは正しいURLではないだろうと思うが、それはコントローラファイルへの完全なURLで動作していない。

    ルーターソース:

    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のコントローラにどのようにポスト変数?

    答えて

    0

    この

    data:$("#formID").serialize(), 
    

    への変更とは、これは通常のフォームは

    +0

    変数が掲示されてみますが、PHPは何か –

    +0

    変更 '$データを返さないAJAXを通じて提出提出します= $ _ POST ['dataString'] 'これを' $ data = $ _ POST' –

    +0

    は "配列"を返す –

    0

    $(".inp_pr").keypress(function(f) { 
    if (f.which == 13) { 
    dataString = 'qwe'; 
    $.ajax({ 
    type: "POST", 
    url: "/prwrk/", 
    data: {dataString:dataString}, 
    success: function(data) { 
    $('body').append(data);//change the body to your dom element 
    } 
    }); 
    } 
    }); 
    
    +0

    これはちょうど私のDOM要素をリフレッシュしています。 –

    +0

    爽やかではどういう意味ですか? – madalinivascu

    +0

    私はphpのために2つの経路とajaxスクリプト – madalinivascu

    関連する問題