我试图使用从ajax请求返回的一些数据来构造一个字符串,然后需要使用ajax回发。但是,将数据分配给的变量不在第二个请求的范围内,因此返回的变量是未定义的'错误。在下面的示例中,我需要发布第一个请求返回的数据(
var cUrl = '/api/courses/a';
var pUrl = '/api/courses/b/pages/1?page_body=';
var bodyData = '';
$.getJSON(cUrl, function(cData){
bodyData = '<div id="' + cData.id + '">' + cData.description + '</div>';
});
('body').on('click', '#add_btn, function(){
$.ajax({
type: 'POST',
dataType: 'json',
url: pUrl + bodyData,
headers: {"X-HTTP-Method-Override": "PUT"},
success: function(result) {
alert('Successfully Added!');
}
});
});
非常感谢任何帮助!非常感谢!
答案 0 :(得分:0)
据我了解,只有拥有json响应数据时才想处理click事件,所以:
只需在getJSON
回调中添加点击事件处理程序。
或者在获得json响应时触发自定义事件,并在自定义事件处理程序中为#add_btn
创建单击事件处理程序。有了这个,#add_btn
点击事件只会在你有json响应时触发。