在Prototype中,此Ajax调用将其形式作为URL编码的名称/值对字符串发布到服务器,就像您在HTTP GET请求中看到的那样:

function doajax()
{
 var current_req = new Ajax.Request('/doajax', {
 asynchronous:true,
 evalScripts:true,
 parameters: $('ajax_form').serialize(true)}
 );
}


您将如何使用jQuery做同样的事情?

最佳答案

由于method的默认Ajax.Request是POST,因此等效的$.post()调用如下所示:

function doajax()
{
  $.post('/doajax', $('#ajax_form').serialize(), function(respose) {
    //do something with response if needed
  });
}


如果您不需要/不在乎响应,则可以这样做:

function doajax()
{
  $.post('/doajax', $('#ajax_form').serialize());
}


或者,如果您要专门获取脚本,则使用$.ajax()如下所示:

function doajax()
{
  $.ajax({
    url:'/doajax',
    type: 'POST',
    data: $('#ajax_form').serialize(),
    dataType: 'script',
    success: function(respose) {
      //do something with response if needed
    }
  });
}

08-17 13:40