ASP.NET WebMethod への ajax 呼び出しを行う必要があります。それを行うための次のコードを作成し、成功関数とエラー関数の両方にアラートを配置して、ajaxcall が適切に機能しているかどうかをテストしました。エラーとしてアラートを受け取り、できませんでした。私が間違っていたところを見つけてください。
これが私のコードです
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js">
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Multiple_Markers.aspx/BindAddress",
data: "{}",
dataType: "json",
success: function(data) {
alert("success")
},
error: function(result) {
alert("Error");
}
});
});
</script>
Multiple_Markers.aspx ページに記述された Web メソッドを次に示します。Web メソッドは完全に機能しています。
[WebMethod]
public static OrganizationBAL[] BindAddress()
{
DataTable dt = new DataTable();
List<OrganizationBAL> lstAddress = new List<OrganizationBAL>();
ProgramDAL clsPgmDAL=new ProgramDAL();
using (SqlConnection sqlcon = new SqlConnection(clsPgmDAL.connStr))
{
string str="select street_address as title,latitude as lat,longitude as lng,"+
"street_address+','+city+','+state+','+country as descritpion from dbo.tblOrganization_Address";
using (SqlCommand cmd = new SqlCommand(str, sqlcon))
{
sqlcon.Open();
SqlDataAdapter sqlad = new SqlDataAdapter(cmd);
sqlad.Fill(dt);
foreach (DataRow dRow in dt.Rows)
{
OrganizationBAL clsOrg = new OrganizationBAL();
clsOrg.CITY = dRow["title"].ToString();
clsOrg.LATITUDE = dRow["lat"].ToString();
clsOrg.LONGITUDE = dRow["lng"].ToString();
clsOrg.ADDRESS_TYPE_LOCATION = dRow["descritpion"].ToString();
lstAddress.Add(clsOrg);
}
}
}
return lstAddress.ToArray();
}
上記の結果を達成するために私が書いたWebサービスですが、問題はまだ解決していません。
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public OrganizationBAL[] BindAddress()
{
DataTable dt = new DataTable();
List<OrganizationBAL> lstAddress = new List<OrganizationBAL>();
ProgramDAL clsPgmDAL = new ProgramDAL();
using (SqlConnection sqlcon = new SqlConnection(clsPgmDAL.connStr))
{
string str = "select street_address as title,latitude as lat,longitude as lng," +
"street_address+','+city+','+state+','+country as descritpion from dbo.tblOrganization_Address";
using (SqlCommand cmd = new SqlCommand(str, sqlcon))
{
sqlcon.Open();
SqlDataAdapter sqlad = new SqlDataAdapter(cmd);
sqlad.Fill(dt);
foreach (DataRow dRow in dt.Rows)
{
OrganizationBAL clsOrg = new OrganizationBAL();
clsOrg.CITY = dRow["title"].ToString();
clsOrg.LATITUDE = dRow["lat"].ToString();
clsOrg.LONGITUDE = dRow["lng"].ToString();
clsOrg.ADDRESS_TYPE_LOCATION = dRow["descritpion"].ToString();
lstAddress.Add(clsOrg);
}
}
}
return lstAddress.ToArray();
}