Javascript 在泛型函数中向ajax传递参数

Javascript 在泛型函数中向ajax传递参数,javascript,jquery,ajax,Javascript,Jquery,Ajax,这让我疯狂: 我可以成功地将参数传递到此函数,并在警报中显示它们。如果我在函数中定义了值,我还可以按id填充div function getStuff( req, elementid ) { //var req = 'slider'; //var elementid = '#slider'; //var req = 'thumbnails'; //var elementid = '#thumbnails'; $.ajax({ async: false,

这让我疯狂:

我可以成功地将参数传递到此函数,并在警报中显示它们。如果我在函数中定义了值,我还可以按id填充div

function getStuff( req, elementid ) {
  //var req = 'slider';
  //var elementid = '#slider';

  //var req = 'thumbnails';
 //var elementid = '#thumbnails';
  $.ajax({
      async: false,
      url: '/update',
      contentType: 'text/html',
      data: { putski: req },
      type: 'GET',
      dataType: "html",
      success: function(stuff) {
              $( elementid ).html(stuff);
              alert(req+elementid)
   },

   error: function( xhr, status, errorThrown ) {
        alert( "Sorry, there was a problem!" );
        ( "Error: " + errorThrown );
        console.log( "Status: " + status );
        console.dir( xhr );
   },

   complete: function( xhr, status ) {
        return false;
   }

  });
};

$(document).ready( getStuff( 'thumbnails', '#thumbnails' ) );  // alert shows    thumbnails#thumbnails but div does not populate.
下面的变体正在填充,应该排除我描述的问题以外的问题


你把苹果比作桔子

在第二个版本中,您可以尝试以下操作:

var req = 'thumbnails';                
var elementid = '#thumbnails';

如果这不起作用,那么您就知道服务器代码没有正确处理“thumbnails”参数,或者元素id“#thumbnails”没有定义。我怀疑问题是传递参数还是在函数中设置参数。

好的,我已经解决了,但我必须承认,我并不真正理解这种行为。我注释掉了“async:false”,它开始使用缩略图。我首先添加了那条线,因为没有它滑块就不能工作p也许有人可以解释一下这一点?

问题是什么?你有没有看过第一个例子中“东西”的价值?顺便说一句,这个函数是在document ready启动之前被调用的,不确定是否是故意的。我可以提醒()stuff的值,它显示从后端返回的html。$(document).ready(getStuff('thumbnails','#thumbnails');警报显示缩略图#缩略图,但div不填充。不是这样。我只是在我的示例中取消了错误的注释。“slider”和“thumbnails”在html中都有正确的定义,服务器响应也很好,当我在函数中定义它们时,它确实起作用,这一事实证明了这一点。真正奇怪的是,当我将它们作为参数传入时,它们会发出警报,但div没有填充。
var req = 'thumbnails';                
var elementid = '#thumbnails';