我通过网页上的按钮获得了以下功能触发器。
我需要将值从文本字段传递给ajax调用。我有以下脚本但没有任何事情发生。
function sentDateToServer(){
var runDate = $('#rundate').html();
$.ajax({
type: 'GET',
url: '/clientsurvey/planner.html?runDate=' + runDate,
success: function(response) {
}
error: function(xhr, asdf,) {
}
});
答案 0 :(得分:2)
当你说“文本字段”时,假设你实际上是指“输入元素”,那么你应该使用val()
函数来获取它的值,而不是html()
来返回嵌套的HTML内容(在输入元素的情况下通常没有。)
var runDate = $('#rundate').val();
不要忘记encodeURIComponent()
它,或者更好地使用$.ajax()
设置中的data
选项。
答案 1 :(得分:0)
首先,可能是在成功回调关闭括号后需要逗号。也许是因为这个逗号不存在,ajax函数不知道如何关闭它,因此jquery完全忽略了该函数。
其次,我同意@ Trevor关于使用/clientsurvey/planner.html?
作为此请求的url的混淆,这应该是php或foxpro或其他东西。如果它是这些语言之一,那么你甚至不需要扩展名,你可以'/clientsurvey/planner?runDate='+runDate
,这应该可以。
第三,在成功之前放置error
回调在语法上更聪明,因为如果ajax函数抛出错误,那么在jQuery中浪费内存和读取未执行的函数的处理能力是没有意义的。
所以,你的陈述改为:
function sentDateToServer(){
var runDate = $('#rundate').html();
$.ajax({url: '/clientsurvey/planner?runDate=' + runDate,
type: 'GET',
error: function(xhr, asdf,){
alert(xhr + "\n\n" + asdf);
},
success: function(response){
//do something
}
});
});