jquery ajax使用load传递信息

时间:2011-10-11 13:58:10

标签: jquery

我有一个关联数组,我试图将它传递给jquery load方法的参数部分。但它并没有显示为服务器端的帖子。我怎么能做到这一点?

这是我的代码:

var selectcustomerpopup = null;

$(document).ready(function() {
    // Find customer
    $('.CustomerSelectBtn').click(function() {
        var uniqueid = $(this).attr('id');

        var customerSelectURL = $('#ajax_customer_select_url').val() 
                   + "/" + uniqueid;
        var custselectdata = new Array();

        custselectdata["fname"] = "TestFirst";
        custselectdata["lname"] = "TestLast";

        if (! ($('#selectCustomerDialog').length)) {
          $('body').append(
              $('<div id="selectCustomerDialog" style="display: none;"></div>')
               );
        }

        var $findCustomerDialog = 
              $('#selectCustomerDialog').load
               (customerSelectURL, custselectdata)
            .dialog({
            autoOpen: false,
            title: 'Select Customer',
            width: 630,
            height: 450,
            position: 'center', 
            resizeable: true,
            modal: true,
            draggable: true,
            closeOnEscape: true,
            closeText: 'close'

        });
        $findCustomerDialog.dialog('open');
        selectcustomerpopup = $findCustomerDialog;
        return false;
    });
  } );

其他信息: 我得到了一个很好的答案,但我做了一些更多的研究,发现了一个很好的链接,可以很好地解释javascript中的关联数组:http://blog.xkoder.com/2008/07/10/javascript-associative-arrays-demystified/

3 个答案:

答案 0 :(得分:1)

JavaScript没有真正的关联数组。您只需要将custselectdata数组替换为对象:var custselectdata = {};

答案 1 :(得分:0)

数据需要格式化为字符串:

http://api.jquery.com/load/

所以你可以这样做:

var custSelectData = "fname=TestFirst&lname=TestLast";

答案 2 :(得分:0)

您可以将custselectdata var替换为

var custselectdata = {fname: 'testfirst', lname: 'testlast'};