を使用してクライアント側でサーバー側の文字列値を取得します.netアプリケーションを1つ作成しています。そして、私は単に私のajax呼び出しでこの "Hi"文字列を取得したいと考えています。私は何をする必要がありますか?今私はいつも未定義になっています。他に何もない。ajax呼び出し.net、C#
私のクライアント側のスクリプトは、ブロー
<script type = "text/javascript">
$(document).ready(function() {
$('.cart').click(function() {
var id = $(this).attr('id');
CallAddCart(id);
});
});
function CallAddCart(ItemId) {
$.ajax({
type: "POST",
url: "SearchParts.aspx/AddShopCart",
data: '{ItemId: "' + ItemId + '"}',
contenttype: "application/json; charset=utf-8",
datatype: "json",
success: function (data) {
OnSuccess(data);
},
failure: function (response) {
alert(response.d);
}
});
}
function OnSuccess(response) {
alert('On sucess' + response);
alert(response);
}
</script>
のように見え、UPDATE、私のサーバ側は
[WebMethod()]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string AddShopCart(string ItemId)
{
return "Hi";
}
次のようになります。問題は、その1つの小さなミスだった
を解決
これらの問題を引き起こした。問題は "contenttype"と "datatype"でした。両方のタイプの "t"は大文字でなければなりません。すなわち "のcontentType" と "データ型" :)現在、こんにちは:)を取得することができ
私はJSONタイプの値を返すように勧めます
のcontentTypeとデータ型に変更: パブリック静的文字列AddShopCart(文字列のItemId) { 戻りString.Formatの( "こんにちは") を} [OK]を –
私はそれを –
@RickBrongerをチェックします私はそれを変えた。しかし今、そのHTMLコンテンツを返す。成功の関数で私のajaxで何かを変更する必要がありますか? –