簡體   English   中英

無法通過Jquery(Ajax)調用發送對象

[英]Unable to send object from Jquery(Ajax) call

我正在嘗試使用JS + JqueryAjax調用將數據發送到MongoLab數據庫。 我的問題是我能夠在數據庫中看到OID,但沒有填充任何數據。 在簽入代碼后,網絡設置我的有效載荷始終為空。 我無法弄清楚為什么我的對象行為異常。

    <!DOCTYPE html>
<html lang="en">
<head>
    <title>Boom!</title>
    <link href="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
    <script src="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
    </head>
<body>
    <div class="container">
        <h1>Stuff.</h1>
        <p>
            <button class="btn btn-large">Press Me!</button>

        </p>
        <form name="ajaxform" id="ajaxform"  method="POST">
First Name: <input type="text" name="fname" id="fname" value =""/> <br/>
Last Name: <input type="text" name="lname"  id="lname" value ="" /> <br/>
</form>

    </div>

</body>
</html>
    <script>
        var stuff = {
            run: function () {
                $('button').bind('click', function () {
                    if ('geolocation' in navigator) {
                        var geo_options = {
                            name: fname.value ,
                            surname: lname.value

                        };
                        navigator.geolocation.getCurrentPosition(stuff.send, stuff.error, geo_options);
              window.alert(geo_options.fname);
              document.write(geo_options.fname.value);
              console.log(geo_options.fname.value);

                    }
                });
            },
            error: function (msg) {
                console.log(msg);
            },
            send: function (object) {

                $.ajax({
                    url: "https://api.mongolab.com/api/1/databases/geolocation/collections/boom?apiKey=[apiKey]",
                    type: "POST",
                    data: JSON.stringify( object ),
                    contentType: "application/json; charset=utf-8"
                }).done(function( msg ) {
                    console.log(msg);
                });
            }
        };
        $(function() {
            stuff.run();
        });
    </script>

我總是在彈出窗口和控制台中將對象視為未定義對象。 我剛剛開始使用JS和Jquery。

未定義fnamelname 要訪問它們的值,需要使用以下兩個函數: $("#fname").val()$("#lname").val() 我很驚訝您在控制台中得到的是未定義狀態而不是錯誤。

而且,當您嘗試訪問geo_options值時,您沒有使用正確的鍵。 window.alert(geo_options.fname); 應該是window.alert(geo_options.name);

我也將保持運行,錯誤和發送的對象之外的功能stuff ,因為似乎沒有必要了。 而且我認為這些功能可能需要放在文檔准備就緒的代碼片段(位於底部)中,以確保選擇器可以正常工作,但我不確定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM