使用MVC结构的jqueryui模式对话框

使用MVC结构的jqueryui模式对话框,jquery,zend-framework,jquery-ui-dialog,Jquery,Zend Framework,Jquery Ui Dialog,我正在使用Zend框架创建一个带有提交按钮的jQueryUI对话框,以向MYSQL数据库添加内容。我的代码在使用普通URL(/index)时工作,但在自定义路由页面(/addpost/new)上时,它似乎不工作。有人知道问题出在哪里吗 JQUERY对话框 <script> $(function() { $( "#dialog-form" ).dialog({ autoOpen: false, height: 300, width:

我正在使用Zend框架创建一个带有提交按钮的jQueryUI对话框,以向MYSQL数据库添加内容。我的代码在使用普通URL(/index)时工作,但在自定义路由页面(/addpost/new)上时,它似乎不工作。有人知道问题出在哪里吗

JQUERY对话框

<script>


$(function() {

$( "#dialog-form" ).dialog({
        autoOpen: false,
        height: 300,
        width: 350,
        modal: true
    });

    $( "#create-user" )
        .button()
        .click(function() {
            $( "#dialog-form" ).dialog( "open" );
        });
});
</script>

$(函数(){
$(“#对话框窗体”).dialog({
自动打开:错误,
身高:300,
宽度:350,
莫代尔:对
});
$(“#创建用户”)
.按钮()
。单击(函数(){
$(“#对话框窗体”)。对话框(“打开”);
});
});
钮扣

<button id="create-user">Create new user</button>
创建新用户
形式


JQUERY提交

<script type="text/javascript">
$('#form-id').submit(function() {
$.ajax(
{
    type: 'POST',
    url: '/addtodatabase',
    data: $(this).serializeArray(),
    success: function(data, textStatus, jqXHR)
    {

    },
    error: function(jqXHR, textStatus, errorThrown)
    {
      //code
      }
      });
      });
      </script>

$('#表单id')。提交(函数(){
$.ajax(
{
键入:“POST”,
url:“/addtodatabase”,
数据:$(this).serializeArray(),
成功:函数(数据、文本状态、jqXHR)
{
},
错误:函数(jqXHR、textStatus、errorshown)
{
//代码
}
});
});

如果您可以将其保存在索引页上,您的代码就可以了

检查firebug中的ajax请求,并查看请求发送到的位置。很可能这是一个背景问题。要通过直接调用firebug绕过此测试,请执行以下操作:

$.ajax({url://addpost/new},{})

更改上面的url参数,直到到达端点。这应该可以解决问题


:)

您遇到的确切问题是什么?数据未与数据库连接。url(/addtodatabase)连接到数据库并将信息插入Mysql数据库。它适用于普通URL路由(/index),但不适用于自定义URL。那么,您提到的这个自定义URL是您的目录中的实际文件吗?如果它不是服务器上的真实文件,它显然不起作用。它是真实的文件。不完全确定这是否是自定义路由问题,但可以使用(example.com/index)之类的方法,但不能使用(example.com/addinfo/username)-jquery可以在打开对话框时工作,但由于某些原因,它不会在提交后将其定向到URL。。
<script type="text/javascript">
$('#form-id').submit(function() {
$.ajax(
{
    type: 'POST',
    url: '/addtodatabase',
    data: $(this).serializeArray(),
    success: function(data, textStatus, jqXHR)
    {

    },
    error: function(jqXHR, textStatus, errorThrown)
    {
      //code
      }
      });
      });
      </script>