Ich habe eine ASP.net-Webanwendung mit einer Masterseite. In der Menüleiste meiner Masterseite gibt es eine Suchfunktion, in der ein Benutzer eine Abfrage eingibt und auf eine Schaltfläche klickt. Wenn auf die Schaltfläche geklickt wird, navigiert der Browser des Benutzers zu einer Seite, die Suchergebnisse anzeigt. Diese Funktionalität funktioniert großartig.Wie verwendet man jQuery AJAX in ASP.net-Masterseite?
Allerdings entschied ich mich, jQuery AJAX und jQuery Autocomplete zu verwenden, um das Programm einfacher zu verwenden. Die Suche funktioniert einwandfrei von http://example.com/page1.aspx und , aber es funktioniert nicht von http://example.com/subdirectory/index.aspx.
Hier ist mein Javascript-Code die zum automatischen Vervollständigung auszuführen: (von der Master-Seite)
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;
}
});
Es ist ein jQuery AJAX-Aufruf zu DeviceSelection.aspx/getDeviceFieldAutocomplete, einem Web-Service-Aufruf in meinem ASP.net Code. DeviceSelection.aspx befindet sich um http://example.com/DeviceSelection.aspx, so nehme ich an, dass das Problem ist, wenn ein Benutzer auf http://example.com/subdirectory/index.aspx zugreift und eine Abfrage eingibt, versucht es den Webdienst um http://example.com/subdirectory/DeviceSelection.aspx aufzurufen.
Wie kann ich das schaffen?
Danke. Das hat für mein Projekt funktioniert. –
@RiceFlourCookies ~ Denken Sie daran, dass es oft schädlich ist, zu viel zu versuchen. – jcolebrand