Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jqueryajax和php的简单helloworld';t工作_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 使用jqueryajax和php的简单helloworld';t工作

Javascript 使用jqueryajax和php的简单helloworld';t工作,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在尝试使用jQuery和Ajax从同一文件夹中的php获取响应,这是一个简单的helloworld jQuery代码是: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script type="text

我正在尝试使用jQuery和Ajax从同一文件夹中的php获取响应,这是一个简单的
helloworld

jQuery代码是:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
    <script type="text/javascript" src="http://netdna.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>

    <link href="http://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css"
    rel="stylesheet" type="text/css">
    <link href="http://pingendo.github.io/pingendo-bootstrap/themes/default/bootstrap.css"
    rel="stylesheet" type="text/css">

    <script type="text/javascript">
        function jsonIt(){
            var x = document.getElementById("input1").value; 
            var y = document.getElementById("input2").value; 

            var obj = '{'
                       +'"id" : "'+x+'",'
                       +'"name" : '+y+''
                       +'}';

            var person = {
                id:x,
                name:y
            }; 

            var str_json = JSON.stringify(person);

            $.ajax({
                type: 'get',
                url: 'a.php',
                dataType: 'text', 
                data: obj,
                success: function(data) {
                    alert(data);
                },
                error: function(e){
                        console.log(e.message);
                        //alert('error');
                    }
            });
            alert("Pause");
        }


    </script>
</head>

<body>
    <div class="section">
        <div class="container">
            <div class="row">
                <div class="col-md-12">
                    <form class="form-horizontal" role="form">
                        <div class="form-group">
                            <div class="col-sm-2">
                                <label for="inputEmail3" class="control-label">Email</label>
                            </div>
                            <div class="col-sm-10">
                                <input type="text" class="form-control" id="input1" placeholder="Email">
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-sm-2">
                                <label for="inputPassword3" class="control-label">Password</label>
                            </div>
                            <div class="col-sm-10">
                                <input type="text" class="form-control" id="input2" placeholder="Password">
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-sm-offset-2 col-sm-10">
                                <div class="checkbox">
                                    <label>
                                        <input type="checkbox">Remember me</label>
                                </div>
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-sm-offset-2 col-sm-10">
                                <button type="submit" class="btn btn-default" onclick="jsonIt()">Sign in</button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</body>
</html>
按钮的标记如下所示:

<button type="submit" class="btn btn-default" >Sign in</button>
登录

但它仍然返回我“[object XMLDocument]”,而不是Hello world

如果要将jQuery脚本添加到页面顶部,则需要使用文档就绪处理程序将其包围:

<script type="text/javascript">
$(document).ready(function() {
    function jsonIt(){
            $.ajax({
                method: 'GET',
                url: 'a.php',
                //url: 'http://practica00.tk/a.php',
                dataType: 'text'
            })
            .done(function(data) {
                    alert(data);
                })

            .fail (function( jqXHR, textStatus ) {
                    console.log( "Request failed: " + textStatus );
                });
        alert("Pause");
    }

    $(document).on('click', 'button[type="submit"]', function(e) {
        e.preventDefault(); // prevents the default click action
        jsonIt();
    });
});
</script>
我不知道你为什么要用JSON字符串做任何事情,因为你没有在任何地方的查询中使用它。您从未定义过
obj
,因此不应该发送它

编辑:我已经更新了答案,以反映使用jQuery版本时更合适的AJAX返回方法

不推荐使用注意事项:从jQuery 1.8开始,jqXHR.success()、jqXHR.error()和jqXHR.complete()回调都不推荐使用。要准备代码以便最终删除,请改用jqXHR.done()、jqXHR.fail()和jqXHR.always()

如果你想做一个简单的“hello world”,你应该在增加任何复杂性之前删除任何偏离目的的代码


此外:要执行AJAX(以及相应的PHP),您必须从运行的web服务器执行代码,无论是本地主机还是测试主机,在那里所有内容都可以正确执行。

如果要将jQuery脚本添加到页面顶部,您需要用一个可供文档使用的处理程序将其包围:

<script type="text/javascript">
$(document).ready(function() {
    function jsonIt(){
            $.ajax({
                method: 'GET',
                url: 'a.php',
                //url: 'http://practica00.tk/a.php',
                dataType: 'text'
            })
            .done(function(data) {
                    alert(data);
                })

            .fail (function( jqXHR, textStatus ) {
                    console.log( "Request failed: " + textStatus );
                });
        alert("Pause");
    }

    $(document).on('click', 'button[type="submit"]', function(e) {
        e.preventDefault(); // prevents the default click action
        jsonIt();
    });
});
</script>
我不知道你为什么要用JSON字符串做任何事情,因为你没有在任何地方的查询中使用它。您从未定义过
obj
,因此不应该发送它

编辑:我已经更新了答案,以反映使用jQuery版本时更合适的AJAX返回方法

不推荐使用注意事项:从jQuery 1.8开始,jqXHR.success()、jqXHR.error()和jqXHR.complete()回调都不推荐使用。要准备代码以便最终删除,请改用jqXHR.done()、jqXHR.fail()和jqXHR.always()

如果你想做一个简单的“hello world”,你应该在增加任何复杂性之前删除任何偏离目的的代码


此外:要执行AJAX(以及相应的PHP),您必须从运行的web服务器执行代码,无论是本地主机还是测试主机,在那里所有内容都可以正确执行。

如果要将jQuery脚本添加到页面顶部,您需要用一个可供文档使用的处理程序将其包围:

<script type="text/javascript">
$(document).ready(function() {
    function jsonIt(){
            $.ajax({
                method: 'GET',
                url: 'a.php',
                //url: 'http://practica00.tk/a.php',
                dataType: 'text'
            })
            .done(function(data) {
                    alert(data);
                })

            .fail (function( jqXHR, textStatus ) {
                    console.log( "Request failed: " + textStatus );
                });
        alert("Pause");
    }

    $(document).on('click', 'button[type="submit"]', function(e) {
        e.preventDefault(); // prevents the default click action
        jsonIt();
    });
});
</script>
我不知道你为什么要用JSON字符串做任何事情,因为你没有在任何地方的查询中使用它。您从未定义过
obj
,因此不应该发送它

编辑:我已经更新了答案,以反映使用jQuery版本时更合适的AJAX返回方法

不推荐使用注意事项:从jQuery 1.8开始,jqXHR.success()、jqXHR.error()和jqXHR.complete()回调都不推荐使用。要准备代码以便最终删除,请改用jqXHR.done()、jqXHR.fail()和jqXHR.always()

如果你想做一个简单的“hello world”,你应该在增加任何复杂性之前删除任何偏离目的的代码


此外:要执行AJAX(以及相应的PHP),您必须从运行的web服务器执行代码,无论是本地主机还是测试主机,在那里所有内容都可以正确执行。

如果要将jQuery脚本添加到页面顶部,您需要用一个可供文档使用的处理程序将其包围:

<script type="text/javascript">
$(document).ready(function() {
    function jsonIt(){
            $.ajax({
                method: 'GET',
                url: 'a.php',
                //url: 'http://practica00.tk/a.php',
                dataType: 'text'
            })
            .done(function(data) {
                    alert(data);
                })

            .fail (function( jqXHR, textStatus ) {
                    console.log( "Request failed: " + textStatus );
                });
        alert("Pause");
    }

    $(document).on('click', 'button[type="submit"]', function(e) {
        e.preventDefault(); // prevents the default click action
        jsonIt();
    });
});
</script>
我不知道你为什么要用JSON字符串做任何事情,因为你没有在任何地方的查询中使用它。您从未定义过
obj
,因此不应该发送它

编辑:我已经更新了答案,以反映使用jQuery版本时更合适的AJAX返回方法

不推荐使用注意事项:从jQuery 1.8开始,jqXHR.success()、jqXHR.error()和jqXHR.complete()回调都不推荐使用。要准备代码以便最终删除,请改用jqXHR.done()、jqXHR.fail()和jqXHR.always()

如果你想做一个简单的“hello world”,你应该在增加任何复杂性之前删除任何偏离目的的代码



另外:要执行AJAX(以及相应的PHP),您必须从运行的web服务器执行代码,无论是本地主机还是测试主机,在那里一切都可以正常执行。

您如何调用AJAX函数?我们能看到代码/标记吗?你看过控制台上的错误了吗?您包括jQuery库了吗?我问的问题太多了吗?你想要更多的JS代码吗?您的数据对象,
obj
,从来没有在任何地方定义过。请将另一个选项传递给ajax调用
dataType:'text'
processData:false
,然后它将不会尝试从response@mituw16据我所知,php文件实际上没有使用来自
obj
@AlexAndrei的数据,但JS变量从未定义过,这可能导致OP在浏览器控制台中看到未定义的JS错误。您如何调用AJAX函数?我们能看到代码/标记吗?你看过控制台上的错误了吗?您包括jQuery库了吗?我问的问题太多了吗?你想要更多的JS代码吗?您的数据对象,
obj
,从来没有在任何地方定义过。请将另一个选项传递给ajax调用
dataType:'text'
processData:false
,然后它将不会尝试从response@mituw16据我所知,php文件实际上没有使用来自
obj
@AlexAndrei的数据,但JS变量从未定义过,这可能导致OP在浏览器控制台中看到未定义的JS错误。您如何调用AJAX函数?我们能看到代码/标记吗?你看过控制台上的错误了吗?您包括jQuery库了吗?我问的问题太多了吗?Wou
<button type="submit" class="btn btn-default" onclick="jsonIt(); return false;">Sign in</button>
 $(document).on('click', 'button[type="submit"]', function(e) {
     e.preventDefault(); // prevents the default click action
     jsonIt();
});