无法向php发送jQuery ajax()请求

时间:2014-10-28 04:36:02

标签: php jquery

我在使用ajax()函数时遇到了麻烦。我有一个带有表单的html文件,并且有一段JavaScript代码:

<script>
        $(document).ready(function(){
            $("form").submit(function(){
                var url = "xxx.php/";
                var param = $("#streetInput").serialize() + "&";
                    param += $("#cityInput").serialize() + "&";
                    param += $("#stateInput").serialize();

                    htmlobj = $.ajax({
                                     url: url, 
                                     data: param, 
                                     type: 'GET',
                                     dataType: 'JSON',
                                     success: function(output) {
                                         // parse the data here
                                     },
                                     error: function() {
                                     }
                                    });
              });

        });
    </script>

我想通过GET方法构造一个指向指定php文件的URL。但是,我不知道如何检索通过xxx.php文件中的URL发送的参数。我不知道如何调试。我只需输入

<?php
    echo $_GET("streetInput");
    echo $_GET("cityInput");
    ......
    $xml = simplexml_load_file($url);
?>

但它没有用。有人可以帮我吗?我想通过URL给三个参数xxx.php,然后打印这些元素

在xxx.php文件中,我构建了一个API请求的URL并返回一个XML文件。我想将$ xml文件转换为JSON格式并返回到我的html文件。

1 个答案:

答案 0 :(得分:0)

将您的JS代码更改为:

<script>
        $(document).ready(function(){
            $("form").submit(function(){
                var url = "xxx.php";
                var param = $("#streetInput").serialize() + "&";
                    param += $("#cityInput").serialize() + "&";
                    param += $("#stateInput").serialize();

                    $.ajax({url: url, data: param, type: 'GET'});
            });

        });
</script>

或者,如果表单中只包含这些字段,请使用:

<script>
        $(document).ready(function(){
            $("form").submit(function(){
                var url = "xxx.php";
                var param = $(this).serializeArray(); //<- Or, .serialize() can also be used

                $.ajax({url: url, data: param, type: 'GET'});
            });

        });
</script>