2015-07-21 76 views
0

當我嘗試將字符串發佈到我的web api時,值爲空。我試圖用引號包裝它,但它仍然是空的。從Angular發佈到Web API時,string是否爲空?

AngularJS代碼:

return $http.post("http://localhost:59437/api/Recaptcha/Post", 
            vcRecaptchaService.getResponse()); 

的Web API代碼:

[EnableCors("*", "*", "*")] 
public class RecaptchaController : ApiController 
{ 
    public string Post([FromBody] string response) 
    { 
     return response; 
    } 
} 

我也不知道如何這甚至工作,因爲,我沒有在我的身體形式的響應。 vcRecaptchaService.getResponse()只是返回一個響應字符串,然後我將發送到谷歌的驗證API以驗證recaptcha,所以[FromBody]部分對我來說沒有意義,如果這不是身體的一部分

+0

什麼'vcRecaptchaService.getResponse()'方法呢? –

+0

@PankajParkar - 當你檢查recaptcha checbox時它會返回一個字符串響應。 – xaisoft

回答

1

您的文章呼叫應以JSON格式一樣{response: 'something'}

return $http.post("http://localhost:59437/api/Recaptcha/Post", 
     { response: vcRecaptchaService.getResponse() } //data 
); 
+0

我試過這個,我也試過'{response:''「+ vcRecaptchaService.getResponse()+」'「}},但它仍然是空的 – xaisoft

+0

@xaisoft不需要單引號,你是否在控制檯? –

+0

剛剛檢查,沒有控制檯錯誤。我嘗試硬編碼一個字符串,而不是使用'vcRecaptchaService.getResponse()',但那也行不通。 – xaisoft

0

結束語引號的工作進行發送的數據,但我不得不這樣做,就像這樣:

return $http.post("http://localhost:59437/api/Recaptcha/Post", 
      '"' + vcRecaptchaService.getResponse() + '"' 
     ); 
相關問題