[英]Getting error on passing argument to the code behind method using jquery ajax
我不知道這段代碼有什么問題。 我無法正確實施。 在此先感謝您的幫助。 到目前為止,這是我嘗試過的並遇到的問題
<script type="text/javascript">
$(document).ready(function () {
for (var key in localStorage) {
GetQuickVL(key);
}
});
function GetQuickVL(key) {
if (key.substring(0, 4) == "vhs-") {
$.ajax({
type: "POST",
url: "/QuickViewList.aspx/GetQuickVD",
data: '{key: ' +'1' + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response.response);
},
error: function (response) {
alert(response.error);
}
});
}
}
function OnSuccess(response) {
alert('df');
}
</script>
C-Sharp代碼是
[WebMethod]
public int GetQuickVD(int key)
{
return key;
}
key
是一個int
。 您已將其作為string
傳遞:
'{key: ' +'1' + '}',
要么做:
{key: 1 },
或讓您的網絡方法將object
或string
作為其參數:
[WebMethod]
public int GetQuickVD(object key)
{
return Convert.ToInt32(key);
}
這是一個完整的工作示例(我剛剛對此進行了測試)。 適應您的需求:
網絡服務:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService] // <- ** MAKE SURE THIS IS UNCOMMENTED!
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public int GetQuickVD(int key)
{
return key;
}
}
Aspx頁面:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('.foo').click(function () {
$.ajax({
type: "POST",
url: "WebService1.asmx/GetQuickVD",
data: '{key: ' + '1' + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function () {
alert("success");
}
});
})
});
</script>
<a href="#" class="foo">click me</a>
如果該方法在您代碼的后面(.aspx.cs文件),請嘗試將GetQuickVD方法聲明為靜態方法。 因此它是公共靜態int GetQuickVD(int key)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.