Javascript 使用ajax调用.net、C在客户端获取服务器端字符串值#

Javascript 使用ajax调用.net、C在客户端获取服务器端字符串值#,javascript,c#,asp.net,ajax,Javascript,C#,Asp.net,Ajax,我正在创建一个.net应用程序。我只是想在ajax调用中得到这个“Hi”字符串。我需要做什么?现在我一直都在变得不确定。没有别的了 我的客户端脚本看起来像blow <script type = "text/javascript"> $(document).ready(function () { $('.cart').click(function () { var id = $(this).attr('id');

我正在创建一个.net应用程序。我只是想在ajax调用中得到这个“Hi”字符串。我需要做什么?现在我一直都在变得不确定。没有别的了

我的客户端脚本看起来像blow

    <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>
更新:

问题解决了


这是导致这些问题的一个小错误。问题在于“contenttype”和“datatype”。这两种类型的字符都是“t”,应该是大写字母。ie“contentType”和“dataType”:)现在可以获取Hi:)

我建议以JSON类型返回值

[WebMethod()]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string AddShopCart(string ItemId) 
{
   var result = new { d = "Hi" };
   return JsonConvert.SerializeObject(result);
} 
在Javascript中

success: function (data) {
   OnSuccess(data.d);
}
success: function (data) {
   OnSuccess(data.d);
}

我建议以JSON类型返回值

[WebMethod()]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string AddShopCart(string ItemId) 
{
   var result = new { d = "Hi" };
   return JsonConvert.SerializeObject(result);
} 
在Javascript中

success: function (data) {
   OnSuccess(data.d);
}
success: function (data) {
   OnSuccess(data.d);
}
移除它<代码>[ScriptMethod(ResponseFormat=ResponseFormat.Json)]

在Javascript中

success: function (data) {
   OnSuccess(data.d);
}
success: function (data) {
   OnSuccess(data.d);
}
学分:

移除它<代码>[ScriptMethod(ResponseFormat=ResponseFormat.Json)]

在Javascript中

success: function (data) {
   OnSuccess(data.d);
}
success: function (data) {
   OnSuccess(data.d);
}

信用证:

区分大小写,导致问题。在下面的脚本中,我使用正确的用法进行了更新

以前是“内容类型”和“数据类型”。现在更改为contentType和dataType

<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>

$(文档).ready(函数(){
$('.cart')。单击(函数(){
var id=$(this.attr('id');
CallAddCart(id);
});
});
函数CallAddCart(ItemId){
$.ajax({
类型:“POST”,
url:“SearchParts.aspx/AddShopCart”,
数据:“{ItemId:”+ItemId+“}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(数据){
OnSuccess(数据);
},
故障:功能(响应){
警报(response.d);
}
});
}
函数OnSuccess(响应){
警报(“成功时”+响应);
警报(响应);
}         

导致问题的大小写敏感。在下面的脚本中,我使用正确的用法进行了更新

以前是“内容类型”和“数据类型”。现在更改为contentType和dataType

<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>

$(文档).ready(函数(){
$('.cart')。单击(函数(){
var id=$(this.attr('id');
CallAddCart(id);
});
});
函数CallAddCart(ItemId){
$.ajax({
类型:“POST”,
url:“SearchParts.aspx/AddShopCart”,
数据:“{ItemId:”+ItemId+“}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(数据){
OnSuccess(数据);
},
故障:功能(响应){
警报(response.d);
}
});
}
函数OnSuccess(响应){
警报(“成功时”+响应);
警报(响应);
}         


尝试更改此部分:公共静态字符串AddShopCart(string ItemId){return string.Format(“Hi”)}好的,我会检查it@RickBronger我改了。但现在它返回html内容。我是否需要在ajax On Success函数中更改某些内容?尝试更改此部分:公共静态字符串AddShopCart(string ItemId){return string.Format(“Hi”)}好的,我会检查it@RickBronger我改了。但现在它返回html内容。我是否需要修改ajax On Success函数中的某些内容?该函数AddShopCart的返回类型如何?另外,JsonConvert未找到我得到的错误我需要使用任何名称空间吗?关于返回值,非常抱歉。它应该是“returnnewJavaScriptSerializer().Serialize(result)”,返回类型为string@NithinPaul@NithinPaul请参见codeplex-->中的示例现在当我检查调试器时,我可以看到未捕获的TypeError:无法读取未定义的属性“d”变量名“data”未定义?该函数的返回类型AddShopCart如何?另外,JsonConvert未找到我得到的错误我需要使用任何名称空间吗?关于返回值,非常抱歉。它应该是“returnnewJavaScriptSerializer().Serialize(result)”,返回类型为string@NithinPaul@NithinPaul请参阅codeplex-->中的示例现在,当我检查调试器时,我可以看到未捕获的TypeError:无法读取未定义的属性“d”变量名“data”未定义?结果是相同的:(哦,伙计,这是导致这些问题的一个小错误。问题是“contenttype”和“datatype”。问题是类型的“t”应该是大写的。:)现在它能够得到Hi:)好的,这是一个使用Ajax进行编码的案例研究:)结果是一样的:(哦,伙计,这是一个小错误,导致了这些问题。问题是“contenttype”和“datatype”。问题是类型的“t”这应该是大写的。:)现在它可以得到Hi:)好的,这是一个关于使用Ajax编码的案例研究:)