Javascript 在泛型函数中向ajax传递参数
这让我疯狂: 我可以成功地将参数传递到此函数,并在警报中显示它们。如果我在函数中定义了值,我还可以按id填充divJavascript 在泛型函数中向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,
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';