我有一个ASP.net Web应用程序与母版页。在我的主页面的菜单栏中,有一个搜索功能,用户输入查询并点击一个按钮。点击该按钮后,用户的浏览器将导航到显示搜索结果的页面。这种功能很好。如何在ASP.net母版页中使用jQuery AJAX?
但是,我决定使用jQuery AJAX和jQuery Autocomplete使程序更易于使用。搜索从http://example.com/page1.aspx和正常工作,但它不起作用从http://example.com/subdirectory/index.aspx。
这里是我的javascript代码来执行自动完成:(从母版页)
function setupSerialNumberAutocomplete(id) {
$(id).autocomplete({
source: function(request, response) {
$.ajax({
url: "DeviceSelection.aspx/getDeviceFieldAutocomplete",
data: "{ 'text': '" + escape(request.term) + "', 'field': 'SerialNumber' }",
dataType: "json",
type: "POST",
contentType: "application/json",
dataFilter: function(data) { return data; },
success: function(data) {
response($.map(data.d, function(item) {
return {
value: item
}
}))
},
error: function(xhr, status) {
var exception = eval("(" + xhr.responseText + ")");
$("#divStatus").html("Error fetching registration codes list: " + xhr.statusText + " - " + exception.Message + ".");
}
}); //end - ajax
},
minLength: 2,
focus: function(event, ui) {
$(id).val(ui.item.value);
return false;
},
select: function(event, ui) {
$(id).val(ui.item.value);
return false;
}
});
这是一个jQuery AJAX调用DeviceSelection.aspx/getDeviceFieldAutocomplete,在我的ASP.net代码Web服务调用。 DeviceSelection.aspx位于http://example.com/DeviceSelection.aspx,所以我推测问题在于当用户访问http://example.com/subdirectory/index.aspx和查询中的类型时,它会尝试调用http://example.com/subdirectory/DeviceSelection.aspx的Web服务。
我该如何做这项工作?
谢谢。这对我的项目有效。 – 2010-12-16 17:04:54
@RiceFlourCookies〜请记住,努力过度往往是有害的。 – jcolebrand 2010-12-16 17:05:41