私は以下のようにC#asmx Webサービスコードを持っています。Response.Writeを使用してJqueryからasmx Webサービスを呼び出すJSON出力
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public void getPolicyDetails(string CustId, string PolicyType)
{
JavaScriptSerializer js = new JavaScriptSerializer();
Context.Response.Clear();
Context.Response.ContentType = "application/json";
clsPolicy data = new clsPolicy();
try
{
string policyTxt = "";
//get PolicyTxt from Database
data.Message = policyTxt.ToString();
}
catch (Exception ex)
{
}
Context.Response.Write(js.Serialize(data));
}
ここでは、このWebサービスをasp.netで使用しようとしています。このWebサービスは既に私のandroidプロジェクトで正常に使用されています。
JavaScriptを使用して呼び出すと、500 - Internal Serverエラーが発生します。以下は私のJavascriptコードです。
function getPolicy(policyType) {
$.ajax({
type: "POST",
url: "http://myurl/productsearch.asmx/getPolicyDetails",
data: '{CustId: 106206,PolicyType: "' + policyType + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response.d);
}
});
}
function OnSuccess(response) {
alert(response.d);
}
何が問題だろうか?
文字列で試してみましょう。 –
コードを変更しました:var custid = "106206";データ: '{CustId: "' + custid + '"、PolicyType: "' + policyType + '"}'。 –
それでも500の内部サーバーエラーが発生しています。 –