IM,我使用jquery Ajax功能將數據傳遞到Web服務jQuery的誤差函數不叫asp.net使用jQuery與Asp.net Web服務
我的問題有一個表格IM是在的WebMethod時,即時通訊評論一個的SqlParameter它會給我一個例外,但這不會打電話給我的jquery onError函數,它會一直(雖然例外與否)調用OnSuccess函數
它是什麼原因?使用Newtonsoft序列化響應JSON格式
IM
請幫我 這是我的客戶端腳本
<script type="text/javascript">
$(document).ready(function(){
var progressOptions={
steps: 20,
stepDuration: 20,
max: 100,
showText: true,
textFormat: 'percentage',
callback: null,
};
$('#Waitdialog').dialog({
autoOpen:false,
width: 300,
height:150,
modal: true,
resizable: false,
closeOnEscape:false,
open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); },
position:"center",
draggable:false,
title:"Done",
close:false,
buttons: {
"Ok": function() {
$(this).dialog("close");
}
}
});
$("#submit").click(function(){
$("#ProgressBar").progressbar({
value:50,
steps: 20,
step_duration: 20,
max: 100,
height: 12,
showText: true,
textFormat: 'percentage',
callback: null,
});
var name = $("#txtName").val();
var userID = $("#txtUserName").val();
var email=$("#txtEmail").val();
var department=$("#cmbDep").val();
var password1=$("#txtPassword").val();
var password2=$("#txtPassword").val();
$.ajax({
async: false,
cache: false,
type: "POST",
url: "http://localhost:4055/ShareMe/logon.asmx/HelloWorld",
data: '{"name": "' + name + '", "userID": "' + userID + '","email":"'+email+'","department":"'+department+'","password1":"'+password1+'","password2":"'+password2+'"}',
// data:"{'funcParam':'"+$('#form1').serialize()+"'}",
// data: '{"name": "' + name + '", "userID": "' + userID + '","email":"'+email+'","department":"'+department'"},'
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
error: OnError
});
return false;
function OnSuccess() {
$("#Waitdialog").dialog('open');
}
function OnError(xhr, desc, exceptionobj) {
alert(xhr.responseText);
console.log(xhr.responseText);
console.log(desc);
console.log(exceptionobj);
}
});
});
</script>
,所以這是我的ASP.net的webmethod
<WebMethod()> _
<Script.Services.ScriptMethod(responseFormat:=Script.Services.ResponseFormat.Json)> _
Public Function HelloWorld(ByVal name As String, ByVal userID As String, ByVal email As String, ByVal department As String, ByVal password1 As String) As String
Try
Dim param(6) As SqlParameter
param(0) = New SqlParameter("@RefId", 1)
param(1) = New SqlParameter("@Name", name)
param(2) = New SqlParameter("@UserName", userID)
param(3) = New SqlParameter("@Email", email)
param(4) = New SqlParameter("@Department", department)
param(5) = New SqlParameter("@Password", password1)
param(6) = New SqlParameter("@CreatedBy", "")
SqlHelper.ExecuteNonQuery(connStringShareMe, Data.CommandType.StoredProcedure, "Users_Insert", param)
Return "Done"
Catch ex As Exception
Return JavaScriptConvert.SerializeObject(ex.Message)
End Try
End Function
如何在我的方法中設置狀態碼? –
正如我在答案中所說的,在catch異常塊中添加一行說「Response.StatusCode = 500」,這將設置狀態碼。 –
在vb.net web服務方法不能設置Response.StatusCode = 500 –