-1
這個js消防服務器端的api調用和C#成功返回,但它在js中出現錯誤函數。我無法看到響應錯誤的結果。在JSONP中觸發錯誤事件
JS
$.ajax({
url: "http://127.0.0.1:81/api/sites/GetDomainAvailability?apikey=asfasfdsf&callback=?",
data: { subDomain: subDomain, parentDomain: parentDomain, resellerId: resellerId },
contentType: 'application/json; charset=utf-8',
accept: 'application/json',
dataType: 'json',
success: function (response) {
if (callback)
callback(response.d);
},
error: function (response) {
if (callback)
error(response.d);
}
});
C#代碼
[HttpGet]
public HttpResponseMessage GetDomainAvailability(string subDomain, string parentDomain, string resellerId)
{
if (ModelState.IsValid)
{
var domain = string.Format("{0}.{1}", subDomain, parentDomain);
var manager = new CloudSitesManager();
var isDomainAvailable = manager.GetDomainAvailability(domain);
var response = Request.CreateResponse(HttpStatusCode.OK, isDomainAvailable);
return response;
}
else
{
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
}
您的問題的標題是「JSONP」,但是,您的JQuery設置將「JSON」指定爲數據類型 - 您能否澄清您試圖實現的目標。另外,您是否a)嘗試調試以確保您的ModelState.IsValid爲true並且b)嘗試查看由該調用生成的實際JSON響應?這可能會提供一些線索......如果(a)ModelState無效,那麼您將點擊錯誤事件,並且(b)如果它不是有效的JSON被返回,那麼您可能會遇到錯誤事件。 – tristankoffee