通常はMVCチャップですので、jquery ajaxは通常は簡単です。私は古いwebformsプロジェクトに取り組んでいますが、jquery ajaxをローカルiisのWebメソッドと話すことができません。それはビジュアルスタジオ自身のWebサーバー上で動作します。asp.net 4 jQuery Ajaxはiisのページメソッドで動作しません
jqueryのは、次のとおりです。
//Collect data
var prefs = {
'pref_1': $('input#pref_1').val(),
'pref_2': $('input#pref_2').val(),
'pref_3': $('input#pref_3').val(),
'pref_4': $('input#pref_4').val()
}
//Send data via ajax
//Uncomment below to send requests
var loc = window.location.href;
var substr = loc.split("?");
$.ajax({
url: substr[0] + "/SetUserPreferences",
type: "POST",
data: JSON.stringify(prefs),
dataType: "json",
contentType: "application/json; charset=utf-8"
});
あなたは私が場所のHREFを取って、そこでの方法を探しています見ることができるように。 index.aspxページで
私が持っている:
[WebMethod]
public static void SetUserPreferences(string pref_1, string pref_2, string pref_3, string pref_4)
{
using (lbDataContext dc = new lbDataContext())
{
MoreBang_Preference preference = new MoreBang_Preference();
preference.UserId = (int)HttpContext.Current.Session["UserId"];
preference.DateSubmitted = DateTime.Now;
preference.Preference1 = pref_1;
preference.Preference2 = pref_2;
preference.Preference3 = pref_3;
preference.Preference4 = pref_4;
dc.MoreBang_Preferences.InsertOnSubmit(preference);
dc.SubmitChanges();
}
}
私が働いているサイトはumbracoサイトです、それはウェブののHttpModulesセクションに
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
を持っていますAsp.Net 4統合モードで実行されています。
また、Web設定のsystem.webServerセクションのmodulesタグに
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
があります。
なぜ私は働いていないのかについて真剣に困惑しています。
寄稿者に事前に感謝します。
本当に助けになるわけではありませんが、私はサーバーサイドのAjaxにWCFを使用する方が好きです。私はそれを扱うのがずっと簡単でした。 –
こんにちは、ありがとう、私は通常同様の何かをするだろうが、私はこの特定のルーチン作品のセッションにアクセスする必要があります。 – Chiefy
AspNetCompatibilityRequirementsAttribute属性を追加すると、サービスからのセッションへのアクセス権が与えられます。決してそれを試したことはありませんが、ドキュメンテーションはそうだと言います。 –