2

get リクエスト ".get()" を使用して、PHP システムに入札を送信しようとしています。

ドキュメントを解釈しようとしてきましたが、ほとんどの手順が正しいと感じています。

とにかく、ここに私のhtmlがあります:

<div id="1001AIE0322921TTGOD" class="item">
    <input name="userbid" type="input" value="19.95"/>
    <input name="email-id" type="hidden" value="whatever@iwin.com" />
    <input type="button" class="submit-button" value="click"/>
</div>

そして、ここに私のjavascriptがあります:

$(document).ready(function(){
    var email = $("input[name=email]").val();
    var item = $('div').attr('id');
    var bid = $("input[name=userbid]").val();

    $('.submit-button').click(function(){
        $.get(
            "http://qwicksale.com/classes/insertbid.php",
            {
                item-id: item,
                email-id: email,
                userbid: bid
            }
        );
    });
});

明らかに、私の期待される結果は、入札をバックエンドにポストできることです。form.serialize() を使用しますが、div の ID から項目データを取得しています。

どんな助けでも大歓迎です。

4

5 に答える 5

2

ページの読み込み時に一度だけ呼び出される READY 関数内の入力の値を取得していました。これらの行を CLICK 関数に移動して、現在の値を取得する必要があります。

$(document).ready(function(){

    $('.submit-button').click(function(){
        var email = $("input[name=email]").val();
        var item = $('div').attr('id');
        var bid = $("input[name=userbid]").val();
        $.get(
            "http://qwicksale.com/classes/insertbid.php",
            {
                "item-id": item,
                "email-id": email,
                "userbid": bid
            }
        );
    });
});

健全性のために、データオブジェクトのキーを引用して編集します。

于 2013-08-06T13:37:46.093 に答える
1

このソリューションでは、スキップすることなく仕事を完了できserialize()ます。

$(document).ready(function () {
    $('.submit-button').click(function (event) {
        var $item = $(this).closest('.item');
        var formData = $(':input', $item).serialize() + '&item-id=' + $item.attr('id');
        $.get('http://qwicksale.com/classes/insertbid.php', formData, function (response) {
            // Handle the response
        });
        event.preventDefault();
    });
});

フィドル: http://jsfiddle.net/68W59/

于 2013-08-06T14:09:14.873 に答える
0

おい、あなたのエラーについてはわかりませんが、フィドルで試してみると、「アクセス制御...」のようになりました

ここで変更を修正しましたFiddle Demo

$.getJSON(
            "http://qwicksale.com/classes/insertbid.php?item-id="+item+'&email-id='+email+'&userbid='+bid+"&format=json&callback=?",
            function(data) {
    console.log(data); 
});

ご参考までに

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'User_email' cannot be null' in /var/zpanel/hostdata/zadmin/public_html/qwicksale_com/classes/insertbid. php:47 in insertbid.php:

于 2013-08-06T13:55:36.307 に答える
-1

フォームをサーバーに送信しようとしていますよね?

その場合は、 を使用します$.posthttp://api.jquery.com/jQuery.post/

また、他の回答が指摘しているように、オブジェクトが正しくフォーマットされていないため、本当に必要かどうかを判断したとしても、postどちらも機能しませんget

{
    "item-id": item,
    "email-id": email,
    "userbid": bid
}
于 2013-08-06T13:35:54.513 に答える