【问题标题】:POsting the forms data with JQuery Form Plugin to cakephp controller使用 JQuery 表单插件将表单数据发布到 cakephp 控制器
【发布时间】:2009-06-23 08:35:47
【问题描述】:

我正在使用 JQuery 的表单插件.. 我添加了Form插件的js文件。

我的代码中已经有一个表单..beforeSubmit 正确提醒实际表单内容,我想将此值发布到我的服务器端..我尝试了以下操作,但不起作用...

我的代码是

<?php echo $form->create('Result',array('action'=>'submit'));?>
//some input text fields,texarea fields
<?php echo $form->end('submit');?>

 <script>
  $(document).ready(function(){
  var options = { 

    beforeSubmit:  showRequest,  // pre-submit callback 
    success:       showResponse,  // post-submit callback 
     url: "http://localhost/cake_1.2.1.8004/index.php/results/submit1",
    type: 'POST',
    resetForm: true        // reset the form after successful submit 

}; 


$('#ResultSubmit1Form').submit(function() { 

    $(this).ajaxSubmit(options); 


    return false; 
}); 


 });//ready 

    // pre-submit callback 
 function showRequest(formData, jqForm, options) { 

var queryString = $.param(formData); 


alert('About to submit: \n\n' + queryString); 

     $.ajax({
      type: "POST",
     url: "http://localhost/cake_1.2.1.8004/index.php/results/submit1",
     data: "str="+queryString,

    success: function(msg){
     alert( "Data Saved: " + msg);
    }

        }); 


return true; 
} 

   // post-submit callback 
  function showResponse(responseText, statusText)  { 


alert('status: ' + statusText + '\n\nresponseText: \n' + responseText + 
    '\n\nThe output div should have already been updated with the responseText.'); 
 } 

在我的 CakePHP 控制器中

<?php
class ResultsController extends AppController 

{

  var $name = 'Results';
 var $helpers=array('Html','Ajax','Javascript','Form');
   var $components = array( 'RequestHandler','Email');
  var $uses=array('Form','User','Attribute','Result');
 function submit($id = null)
 {

  $str=$_POST['str'];
echo "POSTED value ".$str;

}

}

【问题讨论】:

    标签: jquery cakephp forms


    【解决方案1】:

    尝试对 URL 参数使用相对 URL:

     url: "/cake_1.2.1.8004/index.php/results/submit",
    

    在服务器端回显一些文本以确保不是服务器输出失败也是一个好主意。

    编辑:我可以看到你已经这样做了,抱歉没有注意到。

    【讨论】:

    • 是的,我已经尝试使用您提供的 Url。实际上例如 ..我的 Querystring 输出将是 _method=POST&name1=value1&name2=value2 但现在只有 _method=POST 回显...
    猜你喜欢
    • 1970-01-01
    • 2017-11-10
    • 2012-05-06
    • 2016-06-21
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多