4

我有一个表单,我想在这个表单中添加 AJAX 功能。

架构:MVC

我有一个这样的基本形式:

<form id="customForm" method="post">
        <input type="text" id="name" name="zone_name" value="" class="input-block-level" />
        <button type="submit" id="save" >Save</button>
  </form>

我有JS这个MVC-View

$('#save').click(function()
{
    var name = $('#name').val();
    $.ajax
    ({
    type: 'POST',
    url: 'http://localhost/myApp/process',
        data: "{name:"+name+"}",
            success: function (result) {
                alert(result);
            },
            error: function () {  
            alert('fail');              
            }
        });
    });

我有一个process类,里面controller有这个代码

上课过程{
    函数 __construct() {
        echo '构造函数';
    }
}

但是做这一切给了我Error通过 AJAX 的信息。为什么会这样?有没有其他方法可以做到这一点。下面是快照:

在此处输入图像描述

这是我的.HTACCESS规则

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

因此,当我直接导航到我的process班级时,它的工作原理。但不适用于 AJAX。这可能是什么原因?下面是截图:

在此处输入图像描述

4

2 回答 2

2

您的按钮不得提交表单,请使其类型按钮:

<button type="button" id="save" >Save</button>
于 2013-07-23T07:52:38.543 回答
0

ajax状态码是什么?它是否生成任何错误消息?你可以得到状态码:

$('#save').click(function(e)
{
    e.preventDefault(); //prevent default button action
    var name = $('#name').val();
    $.ajax
    ({
    type: 'POST',
    url: 'http://localhost/myApp/process',
        data: "{name:"+name+"}",
            success: function (result) {
                alert(result);
            },
            error: function (xhr, status, errorMessage) {  
             alert(xhr.status);              
            }
        });
    });

如果状态码为零,则网络访问将被禁止。我localhost在您的 ajax 网址和192.168.1.6警报框中看到。

于 2013-07-23T07:44:01.107 回答