Jqueryの新機能です。私はJquery ajaxで私のユーザコントロールからサーバメソッドを呼び出そうとしています。要求が送信されたサーバー・ページがルート・パスに置かれているときに、ajaxが機能することは私にとって有益です。私はサブフォルダにページを移動し、jQueryのAJAXのURLパラメータを変更したときしかし、何も起こらなかった...webmethodを保持しているaspxページのURLを変更した後にJquery .ajaxが機能しない
以下はWebForm1.aspx.csでWebメソッドである:
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)
{
}
}
}
ページがルートの下にある場合、それは機能します。ユーザーコントロールの私のAjax機能はここにある:
<%@ 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」、およびWebForm1.aspxの/」からAjaxの方法で「URL」に変更test2 "を" /NewFolder2/WebForm1.aspx/test2 "または " NewFolder2/WebForm1.aspx/test2 "に変更しても、何も起こりません。
私は今や不満です。誰かが私にそれを理解するヒントを与えることができますか?どうもありがとうございました!
ありがとうございます。実際に私はJquery Ajaxメソッドでユーザーコントロールを所有しているページと、Webメソッドが必要なページを両方とも置くと、ルートパスの下で動作します。しかし、私はそれらを "F1"のようなサブフォルダに入れると動作できません... "/F1/webMethodPage.aspx/webMethod"、 "F1/webMethodPage.aspx/webMethod"でajaxメソッドでURLを使用しようとしました"、" webMethodPage.aspx/webMethod "、" /webMethodPage.aspx/webMethod "、さらには" ../F1/webMethodPage.aspx/webMethod "などがあります。彼らの誰も働くことはできません。 –
@Big Bobあなたは正確なファイルシステムの構造を説明できますか?メインページはどこですか?ウェブメソッドページはどこですか? –
こんにちはJmein、ありがとうございました。最後に私はそれが私のJqueryの参照パスだったことがわかったそれは間違っていたときに私はページ内の私のユーザーコントロールを使用しようとした...ありがとう:) –