完全に混乱しています。
- jquery v1.5.2 Firefox 3.6.16 ASMX
- リストアイテム
- VS 2010、.NetFramework3.5で記述されたWebサービス
- ローカルコンピューターのVS2010開発Webサーバーでホストまたはオン
- Windows Web Server2008R2でIIS7.5を実行しているメインWebサーバー
ローカル開発Webサーバーとメインの本番Webサーバーの両方が同じ動作を示します
- Webサービスは、ブラウザーから呼び出されたときに適切に機能します。
- メソッドのリストを取得します。
- メソッド名をクリックできます
- [呼び出し]ボタンをクリックすると、メソッドが呼び出され、結果が返されます
jqueryページが同じWebメソッドを呼び出すと、次のステータスフィールドでエラー関数が発生します
readyState:0 responseText: "" status:0 statusText: "error" error:function()
私のjQuery部分
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type: 'POST',
url: 'http://localhost:1272/ndtvservices.asmx/HelloWorld',
data: '{}',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(msg) {
alert("success " + msg) ;
},
error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(err.Message) ;
}
});
});
</script>
私のウェブメソッド
System.Web.Servicesをインポートします
System.Web.Services.Protocolsをインポートします
System.ComponentModelをインポートします
System.Web.Script.Servicesをインポートします
System.Web.Script.Serializationをインポートします
'ASP.NET AJAXを使用してスクリプトからこのWebサービスを呼び出せるようにするには、次の行のコメントを解除します。'_
_
_ _
パブリッククラスService1はSystem.Web.Services.WebServiceを継承します
'<ScriptMethod(ResponseFormat:=ResponseFormat.Json, UseHttpGet:=False, XmlSerializeString:=False)> _
<WebMethod()> _
Public Function HelloWorld() As String
Dim js As New JavaScriptSerializer
Dim s As String = "Hello World"
Dim sReturn As String = js.Serialize(s)
Return sReturn
End Function
エンドクラス
どこかでSOを読んだときに、system.webの下の私のWeb構成にこれらのエントリがあります
<webServices>
<protocols>
<add name="HttpGet"></add>
<add name="HttpPost"></add>
</protocols>
</webServices>
_
私は上記のステートメントをコメントおよびコメントなしで試しました。
私がこれを理解しているので、これは、このメソッドを呼び出すasp.net以外のajaxページには必要ありません。
私は何が間違っているのですか?
本当にありがとう
幸運をお祈りしています
Iyer