DevBridge ( http://www.devbridge.com/projects/autocomplete/jquery/ ) で Jquery オートコンプリートを実装しようとしています。これは AJAX 呼び出しを行い、その例では .NET Web サービスを使用しています。私はWebメソッドを使用する予定です。
WebMethodTest.aspx というページを作成し、単純な Web メソッドを追加しました。コードは次のとおりです。
using System;
using System.Web.Services;
public partial class WebMethodsTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e) { }
[WebMethod]
public static string Test()
{
return "blah blah blah";
}
}
web.config に何も追加していないか、その他のセットアップを行っていません。
ブラウザーとフィドラー ( http://myurl/WebMethodTest.aspx/Test ) を介して URL を呼び出すと、何も返されません。
通常の HTTP リクエストを行うことができ、文字列「何とか何とか」が返されると想定しています。
注意してください:私が見逃している明らかなものがあるかどうかを確認するために、広範な検索を行いました. ここSOや他の場所でも同様の質問が多数ありますが、多くは不正な形式のJSONなどを中心に展開しています.Webメソッドが呼び出されていないと思います.
そう:
- 通常の HTTP リクエストを作成することは、Web メソッドをチェックする有効な方法ですか? そうでない場合、どのように?
- クライアント側の AJAX 部分なしで Web メソッドをテストできますか?
注意: ScriptManager で Web メソッドを有効にすることに言及している「解決策」がたくさんあります。これは、ASP.NET AJAX を使用している場合にのみ関係があると思いました (そうではありません)。
残ったわずかな毛が薄くなってきています。すべての提案を歓迎します:)
た
EDIT 私がテストしていたURL(JSON文字列を返したサードパーティのもの)は、Webメソッド以外のものだった可能性があると思います。私もブラウザに応答を返すべきだと思いました - それは悪い仮定でした。
@mgnoonan が指摘したように、Fiddler の Request Builder を使用して JSON リクエストを作成することは可能ですか? には、Fiddler でテストするための正しい構文があります。
私が使用したのは:
POST http://xxx/WebMethods/WebMethodsTest.aspx/Test
と
User-Agent: Fiddler
Host: xxx
Content-Type: application/json; charset=utf-8
Content-Length: 0
これにより、期待される文字列が返されました。:)
PSコメントを回答としてマークする方法はありますか?