当前位置 : 主页 > 网页制作 > JQuery >

jquery – POST并获取相同的Ajax请求

来源:互联网 收集:自由互联 发布时间:2021-06-15
我在我的应用程序中使用ajax帖子 $.ajax({ type: "POST", url: "http://localhost/FormBuilder/index.php/forms/saveForm/"+user_id, data: "formname="+formname+"status="+status, success: function(msg){ // alert( "Data Saved: " + msg);
我在我的应用程序中使用ajax帖子

$.ajax({
     type: "POST",
    url: "http://localhost/FormBuilder/index.php/forms/saveForm/"+user_id,

    data: "formname="+formname+"&status="+status,
     success: function(msg){
     // alert( "Data Saved: " + msg);
                }//success
 });//ajax

在上面的ajax帖子中,我使用用户ID保存表单

我能否获得我在Ajax请求中保存的表单的表单ID.如果是这样的话?

我试过用Ajax单独进行.但是在这里我想混淆两个帖子并得到..
我可以这样做..
编辑:

COuld我返回Ajax POST方法的任何值.因为我想返回保存表单的表单ID ..

编辑:

alert("Data Saved: "+msg); gives as

 Data Saved: {"forms":[{"id":"41"},{"id":"35"},{"id":"34"},{"id":"33"},{"id":"32"},{"id":"22"},{"id":"3"},{"id":"2"},{"id":"1"}]}

以上是返回的值我只想要41我应该怎么做?

编辑:

$.ajax({
     type: "POST",
    url: "http://localhost/FormBuilder/index.php/forms/saveForm/"+user_id,
    datatype: 'json',
    data: "formname="+formname+"&status="+status,
     success: function(json){
        alert( "id is : " + json.forms[0].id);
                            }//success
     });//ajax

即使我按照建议使用上面的代码尝试了,但我无法收到警报消息..

我的控制器代码就像

function saveForm()
    {
            //$userId=$this->Session->read('userId');
        $this->data['Form']['name']=$this->params['form']['formname'];
            $this->data['Form']['created_by']=$this->Session->read('userId');
            $this->data['Form']['status']=$this->params['form']['status'];
            $this->data['Form']['access']="Private";
            $userId=$this->Form->saveForms($this->data);
            $formid = $this->Form->find('all', array('fields' => array('Form.id'),
                                    'order' => 'Form.id DESC'                                                                           ));



            $this->set('formid',$formid);

    }

而我的save_form.ctp有

<?php
     $data=array();

      ?>
     <?php foreach ($formid as $r): 


      array_push($data, array('id' => $r['Form']['id']));

    endforeach; 

     echo json_encode(array("forms" => $data));

    ?>
是的,你可以这样做.无论是否有查询字符串,您都可以POST到任意URL.

您可以访问$_GET数组中的任何常规查询字符串参数,或者在您的情况下,从$_SERVER [‘REQUEST_URI’]中解析它. POSTed数据将按预期在$_POST中.

编辑Q.#1“我可以返回Ajax POST方法的任何值吗?”

是的,您可以返回任何您想要的Ajax响应.您对该响应的处理取决于您的Javascript.

编辑Q.#2“如何读取响应中的值”

您正在获得JSON响应,如果是you tell jQuery you expect that,它可以将其解析为对象.例如,尝试这样的事情:

$.ajax({
         type: "POST",
        url: "http://localhost/FormBuilder/index.php/forms/saveForm/"+user_id,
        datatype: 'json',
        data: "formname="+formname+"&status="+status,
         success: function(json){
            alert( "id is : " + json.forms[0].id);
                                }//success
 });//ajax
网友评论