在这个上撕掉我的头发......确定它只是我的功能结构。
基本上我在Ajax加载的选项卡中进行Ajax调用。在内部进行的调用将记录写入数据库并返回一个值。我可以提醒值,但是当我尝试在我的.load()调用中将它用作数据参数时,它不会被传递?
因为他们在同一个成功函数中我只是想(愚蠢?)我可以很容易地引用它!
$('#convert-2-booking').click(function(e) {
var quoteid = $(this).attr("title");
$.ajax({
type: "POST",
url: 'tabs/convert-2-booking.asp?Planner_ID='+$('#convert-2-booking').attr("title")+'',
data: quoteid,
cache: false,
dataType: "html",
success: function(responseText){
var ajax_load = "<img class='loading' src='images/load.gif' alt='loading...' />";
var loadUrl = "tabs/booking.asp";
bookingid = responseText;
//above gets correct returned id.
$("#bookingtab").html(ajax_load).load(loadUrl, { 'bookingid': bookingid } ); // not here though :(
alert(bookingid) // alerts the correct id here too!
setTimeout(function() {
// move to bookings tab after 3 seconds
$("#tabs").tabs( "option", "active", 3 );
// load correct record into tab
}, 3000);
},
error: function(responseText){
alert("NOT:"+responseText);
//alert(responseText);
$("#tabs").tabs( "option", "active", 2 ); //load previous tab itself if returns error..
},
});
});
答案 0 :(得分:0)
尝试通过“booking.asp?bookingid = ...”传递它 像这样:
.load(loadUrl+"?bookingid="+bookingid)
这是一个解决方法;我不确定为什么load()不通过你的数组做同样的事情...也许是因为你只检查服务器端的GET变量而load()给你POST ...?
答案 1 :(得分:0)
最终决定将id存储在会话中我需要的几秒钟。不太理想,但现在是一种解决方法,足以让我向我的客户演示。