2012-11-13 5 views
0

이 요청을 전달하면 서버 사이트에서 매개 변수를 요청할 때 null이 전달됩니다. 데이터 속성에 문제가 있습니까?매개 변수가 Jsonp 요청에 null을 전달 중입니다.

$.getJSON('http://127.0.0.1:81/api/sites/GetDomainAvailability?apikey=asfasfdsf&callback=?', { "request": '{"SubDomain":"asfsadf","ParentDomain":"asfasdf","ResellerId":"asfdsd"}' }, function (results) { 

    alert('Cross domain JS call achieved. Have your implementation going in here!'); 
}); 

API의 C#을

[HttpGet] 
public HttpResponseMessage GetDomainAvailability(GetDomainAvailabilityRequest request) 
{ 
    if (ModelState.IsValid) 
    { 
     if (request == null) return Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid Request"); 
     var domain = string.Format("{0}.{1}", request.SubDomain, request.ParentDomain); 

     var manager = new CloudSitesManager(); 
     var isDomainAvailable = manager.GetDomainAvailability(domain); 

     HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, isDomainAvailable); 
     return response; 
    } 
    else 
    { 
     return Request.CreateResponse(HttpStatusCode.BadRequest); 
    } 
} 

[Serializable] 
public class GetDomainAvailabilityRequest 
{ 
    public string SubDomain { get; set; } 
    public string ParentDomain { get; set; } 
    public string ResellerId { get; set; } 
} 

답변

0

그것은 모델이 바인딩에 문제가 있습니다. 시도해보십시오.

$.getJSON('http://127.0.0.1:81/api/sites/GetDomainAvailability', {SubDomain:"asfsadf",ParentDomain:"asfasdf",ResellerId:"asfdsd"}, function (results) { 

    alert('Cross domain JS call achieved. Have your implementation going in here!'); 
}); 

위의 방법으로 문제가 해결되지 않으면 시도해보십시오. 나는 당신이 시도하고있는 것과 똑같은 일을하는 코드에서 이것을 가져 갔다.

var data = { SubDomain: "asfsadf", ParentDomain: "asfasdf", ResellerId: "asfdsd" }; 

$.post('http://127.0.0.1:81/api/sites/GetDomainAvailability', data, function (results) { 

    alert('Cross domain JS call achieved. Have your implementation going in here!'); 
}, 'json'); 
+0

이것도 테스트했지만 베니피 .. 나는이 때 전체 개체 대신 내가 3 개의 매개 변수를 받아들이는 API 코드를 변경하면 내가 알게 .. 공개 HttpResponseMessage GetDomainAvailability (문자열 subDomain, 문자열 parentDomain, 문자열 resellerId) ________ >>>> {subDomain : subDomain, parentDomain : parentDomain, resellerId : resellerId} –

+0

완전한 개체와 함께 문제가 발생합니다. –

+0

제 편집을 시도하십시오. 여전히 문제가 해결되지 않으면 .getJSON을 $ .post()로 변경하십시오. –

1

대신이 밖으로 시도 :

data: {"request":'{"SubDomain":"asfsadf","ParentDomain":"asfasdf","ResellerId":"asfdsd"}'}, 
+0

아직 행운을 알지 못함 –

+0

@SOF 사용자 다음은 잘못된 것입니다. – Neal

+0

메신저 그때 혼란스러워 어떻게 서버 쪽 API를 코드 –

관련 문제