Я новичок в JQuery. Я пытаюсь вызвать метод сервера из моего пользовательского элемента управления с помощью JQuery ajax. Для меня связано, что когда страница сервера, на которую отправлен запрос, находится в корневом пути, работает ajax. Но когда я переехал страницу в подпапку и изменил параметр Адрес JQuery Ajax, ничего не произошло ...JQuery .ajax не работает после изменения url страницы aspx webmethod
Ниже веб-метод в WebForm1.aspx.cs:
namespace WebApplication11
{
public partial class WebForm1 : System.Web.UI.Page
{
[System.Web.Services.WebMethod]
public static string test2()
{
return "TestString";
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
Когда страница находится под root, она работает. Моя функция Аякса в пользовательском элементе управления находится здесь:
<%@ Control Language="C#" AutoEventWireup="true"
CodeBehind="WebUserControl1.ascx.cs"
Inherits="WebApplication11.NewFolder1.WebUserControl1" %>
<script type ="text/javascript">
function ajaxTest()
{
$.ajax({
type: "post",
url: "WebForm1.aspx/test2",
data: "{}",
contentType: "Application/json; charset=utf-8",
dataType: "json",
success: function (r) {alert(r.d);}
})
}
</script>
<input type = "checkbox" id = "c1" onchange = "ajaxTest()" />
Но после того, как я двигаюсь страница WebForm1.aspx от корня к подпапке «NewFolder2», и изменил «URL» в методе АЯКСА от «WebForm1.aspx/test2 "в" /NewFolder2/WebForm1.aspx/test2 "или " NewFolder2/WebForm1.aspx/test2 ", ничего не произошло.
Я расстроен сейчас. Может ли кто-нибудь дать мне подсказку, чтобы понять это? Большое спасибо!
Спасибо, Jmein. Фактически, когда я помещаю обе страницы - один пользовательский элемент управления с помощью Jquery Ajax-метода, другой имеет требуемый веб-метод - под корневым путем он работает. Однако, когда я помещаю их в подпапку, такую как «F1», она не может работать ... Я попытался использовать URL-адрес в ajax-методе с помощью «/F1/webMethodPage.aspx/webMethod», «F1/webMethodPage.aspx/webMethod "," webMethodPage.aspx/webMethod "," /webMethodPage.aspx/webMethod "и даже" ../F1/webMethodPage.aspx/webMethod ". Ни один из них не может работать. –
@Big Bob вы можете объяснить свою точную структуру файловой системы? Где находится главная страница и где находится страница веб-методов? –
Привет, Jmein, Спасибо вам за помощь. Наконец, я обнаружил, что путь ссылки на JQuery был неправильным, когда я пытался использовать свой пользовательский элемент управления на странице ... Спасибо :) –