1

現在、json リクエストを次の .NET MVC アクションに送信しています。

 [AcceptVerbs(HttpVerbs.Post)]
    public JsonResult Signup(FormCollection collection)
    {

ただし、コレクションは何らかの理由で空です。データが送信されていることはわかっています。

[AcceptVerbs(HttpVerbs.Post)]
    public JsonResult Signup(String username, String email, String password)
    {

メソッドのオプションのパラメーターを使用できるため、フォームコレクションを使用しています。将来、私はユーザー名を持っていない可能性があります。名前はあるかもしれませんが (たとえば)、古い URL を壊すことはできません。

リクエストは、NSMutableURLRequest の形式で iOS アプリから送信されます。何か不足していますか、それとも 2 番目のオプションを使用して、新しいパラメーターを追加するときに別のメソッドを作成する必要がありますか? 新しいアプリの更新をリリースするときに、.NET MVC アプリの別のバージョンを作成します。

ええ、私はこのようなデータを投稿しているからです

NSMutableDictionary *sendData = [[NSMutableDictionary alloc] init];

        [sendData setValue:self.usernameTxt.text forKey:@"username"];
        [sendData setValue:self.emailTxt.text forKey:@"email"];
        [sendData setValue:self.deviceToken forKey:@"device_token"];

        //verify account details and retrieve the API Key
        responseData = [NSMutableData data];    

        NSString *stringUrl = kAppRequestUrl;

        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[stringUrl stringByAppendingString:@"/SomePath"]]];
        [request setValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
        [request setHTTPMethod:@"POST"];

        [request setHTTPBody: [sendData JSONData]];
4

1 に答える 1

0

FormCollectionForm要素 のコレクションを意味します。その中で JSON 値を受け入れることを期待しないでください。オプションのパラメーターを使用して、2番目のオプション (パラメーター) を使用します。

[HttpPost]
public JsonResult Signup(String username="",string name="", String email, String password)
{
   //do stuff
}
于 2012-07-26T18:21:37.510 に答える