Php 通过ajax向服务器发送表单数据

Php 通过ajax向服务器发送表单数据,php,jquery,ajax,ajaxform,Php,Jquery,Ajax,Ajaxform,我是ajax新手,想列一张待办事项清单 对于add form submit method(),我有一个if-else。else可以工作并在其情况下向我发出警报,但如果不工作,我认为是关于我的post方法 顺便说一下,这是我的jquery代码: $('#add_task').submit(function(event) { /* stop form from submitting normally */ event.preventDefault(); var title = $('#task_ti

我是ajax新手,想列一张待办事项清单

对于add form submit method(),我有一个if-else。else可以工作并在其情况下向我发出警报,但如果不工作,我认为是关于我的post方法

顺便说一下,这是我的jquery代码:

$('#add_task').submit(function(event) {
/* stop form from submitting normally */
event.preventDefault();
var title = $('#task_title').val();
if(title){
 //ajax post the form
 $.post("/add", {title: title}).done(function(data) {
   $('#add_task').hide("slow");
   $("#task_list").append(data);
 });
}
 else{
   alert("Please give a title to task");
}
});
当我点击AddBTN时,控制台输出显示404NotFound错误,并参考我下载的jquery主文件的这一行:它是:

这是我的控制器:

  public function postAdd() {
  if(Request::ajax()){
    $todo = new Todo();
    $todo->title = Input::get("title");
    $todo->save();
    $last_todo = $todo->id;
    $todos = Todo::whereId($last_todo)->get();
    return View::make("ajaxData")
    ->with("todos", $todos);
 }
}
我的路线是:

Route::controller('/', 'TodoController');

感谢您抽出时间

我想您在拉雷维尔的路线有问题。此路由应在以下情况下工作:

Route::post('add/',array('uses' => 'TodoController@add'));
将“提交按钮”更改为简单按钮,并更改如下

$('#add_task').click(function() {
    var titleField = $('#task_title');
    if(titleField.length > 0){
        $.post("/add", {title: titleField.val()}).done(function(data) {
            $('#add_task').hide();
            $("#task_list").append(data);
        });
    } else {
        alert("Please give a title to task");
    }
    return false;
});

404 AJAX中的HTTP状态错误仅与发送数据的URL相关。用后端可以处理的东西更改
/add
,比如一个简单的PHP文件,因为
/add
意味着您需要进行一些htaccess/nginx重写

无论如何,这是一个简单的教程,我将否决你从以下位置复制声称属于你的代码:

您应该执行如下简单的ajax请求:

    $.ajax({ url : 'ajax.php', data: {title:title}, type: 'POST', success:
       function(response) {
          // exec success code
       }
    });

如果你对编程一无所知,就永远不要做网络教程,因为你永远也无法让它们发挥作用。这只是一个简单的php文件,您需要对其进行编码,并从Route::controller中的教程中更改其url,但是,该教程对于待办事项列表来说太复杂了。

我只是通过更改以下内容来修复它:

$.post("/add", {title: title})
致:

它没有找到localhost://add 所以我给了它一个完整的地址


感谢所有回复

如果显示404错误,则不会显示
/add
urlfound@adeneo:谢谢你的回复。我用了教程。。所以我认为所有与jquery版本和我上面写的jquery代码相关的东西。你对url有什么想法?它应该是什么?嗯,它应该是一个有效的URL,指向响应的内容,没有什么神奇的,如果你有一个URL,服务器在调用该URL时必须响应。@adeneo:我添加了我的代码。请再次检查我的问题。谢谢
$.post("/add", {title: title})
 $.post("http://localhost/Blueprints/to-doListWithAjax/public/index.php/add", {title: title})