簡體   English   中英

問題:在ajax調用中傳遞一些參數(post)

[英]Problem: pass some parameters in ajax call (post)

我有兩個功能:一個添加,另一個刪除。 我想重用相同的ajax調用來發送添加或刪除的參數。 如何優化我的功能?

這是我目前的代碼

jQuery(document).ready(function () {

    function ajaxCall(action, callback) {
        jQuery.ajax('/index.php', {
            type: 'POST',
            dataType: 'json',
            data: {
                option: 'quotes',
                view: 'request',
                task: action,
                format: 'raw',
                tmpl: 'component'
            },
            success: function (response) {
                if (response.error == true) {
                    alert(response.errors.join('\n'));
                }
                else if (response.status == "DONE") {
                    callback(false);
                }
            },
            error: function (xhr) {
                console.log("Error: ", JSON.stringify(xhr));
                callback(true);
            }
        });
    }

    jQuery('#ajax_add').click(function (event) {
        event.stopPropagation();

        var id = jQuery('#id').val();
        var price = jQuery('#price').val();

        //I want to send two variables: id, price

        ajaxCall("addData", function (error) {
            if (error) {
                alert("Error!.");
            }
            else {
                alert("It's OK!");
            }
        });
    });

});

刪除函數類似於“addData”函數,它也調用“ajaxCall”並發送參數進行刪除。

卡住了,不知道怎么解決,希望大家幫幫忙,謝謝

您可以向ajaxCall函數添加一個新參數,並將參數作為對象發送,它們將它們與您在函數中的數據合並,例如:

function ajaxCall(action, params, callback) {

然后在 ajax 調用中:

jQuery.ajax('/index.php', {
    type: 'POST',
    dataType: 'json',
    data: $.extend(params, {
        option: 'quotes',
        view: 'request',
        task: action,
        format: 'raw',
        tmpl: 'component'
    }),
    ...

事件內部的調用將類似於:

ajaxCall("addData", {id: id, price: price}, function (error) {

暫無
暫無

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

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