3

私はcakephpを初めて使用し、ajaxからコントローラーアクションにデータを送信しようとしています.入力ボックスがあるポップアップモデルがあります..その値を取得して、ページを更新せずにコントローラーに送信したい

ここに私のコードがあります..

 <a  class="button anthracite-gradient" onclick="openPrompt()">submit </a>

私のJavaScript

 function openPrompt()
{
var cancelled = true;

$.modal.prompt('Please enter a value:', function(value)
{

    $.ajax({
        type:"POST",

        url:"/cakephp/controller/action/",
        success : function(data) {
           alert(value); //value right now is in this variable ... i want to send this variable value to the controller

        },
        error : function() {
           alert("false");
        }
    });


    }, function()
   {

    });
    };
</script>

myController

 public function action(){
    if( $this->request->is('ajax') ) {
      $new = $this->request->data; 

        echo "ok"
        return;
    }
}

最初にここで値を取得してから、may ajax リクエストに応答を送信したい

4

2 に答える 2

4

その単純な値をコントローラーに投稿し、必要なことを行います.ajaxリクエストでは、値をバインドしdata:{value_to_send:value}てコントローラーに取得します

 function openPrompt()
{
var cancelled = true;

$.modal.prompt('Please enter a value:', function(value)
{

    $.ajax({
        type:"POST",
        data:{value_to_send:value}, 
        url:"/cakephp/controller/action/",
        success : function(data) {
           alert(data);// will alert "ok"

        },
        error : function() {
           alert("false");
        }
    });


    }, function()
   {

    });
    };
</script>

 public function action(){
    if( $this->request->is('ajax') ) {
     // echo $_POST['value_to_send'];
     echo   $value = $this->request->data('value_to_send');

     //or debug($this->request->data);
        echo "ok"
      die();
    }
   }

詳細については、access-post-dataを参照してください

于 2013-07-06T16:12:49.870 に答える