2016-05-05 69 views
2

我有一些參數,POST請求發送到服務器:如何發送下面的params請求?

`[{"LoginID":151,"UserID":0,"SubUserID":0,"WorkGroupID":92,"WorksFor":"Doctor","UserWorkGroup":0},{"SearchingFilters":{"GroupingOperator":"And","Filters":[{"SearchingValue":"04-13-2016","SearchingName":"AppointmentDate","SearchingOperator":"Ge"},{"SearchingValue":"04-27-2016","SearchingName":"AppointmentDate","SearchingOperator":"Le"}],"Groups":[{"Groups":[],"GroupingOperator":"And","Filters":[]}]},"Searching":true,"SortingOrder":"Desc","RecordsCount":10,"PageIndex":0}]` 

如何像這種格式發送?

[getProfileServices sendSynchronousPostRequestWithStringForAction:getProfileURL andParameters:[[NSDictionary alloc] initWithObjectsAndKeys:[[NSUserDefaults standardUserDefaults] objectForKey:@"USER_ID"],@"LoginID",@"0",@"UserID",@"0",@"SubUserID",[[NSUserDefaults standardUserDefaults] objectForKey:@"WORK_ID"],@"WorkGroupID",@"Doctor",@"WorksFor",@"0",@"UserWorkGroup",nil] andRequestType:@"POST"]; 

回答

1

首先,你需要發送的請求使用JSON格式

和第二

我認爲有需要在服務改變

服務應該接受這個你的要求不是直接作爲對象格式。

{ 
    "LoginID": 151, 
    "UserID": 0, 
    "SubUserID": 0, 
    "WorkGroupID": 92, 
    "WorksFor": "Doctor", 
    "UserWorkGroup": 0, 
    "SearchingFilters": { 
    "GroupingOperator": "And", 
    "Filters": [ 
     { 
     "SearchingValue": "04-13-2016", 
     "SearchingName": "AppointmentDate", 
     "SearchingOperator": "Ge" 
     }, 
     { 
     "SearchingValue": "04-27-2016", 
     "SearchingName": "AppointmentDate", 
     "SearchingOperator": "Le" 
     } 
    ], 
    "Groups": [ 
     { 
     "Groups": [ 

     ], 
     "GroupingOperator": "And", 
     "Filters": [ 

     ] 
     } 
    ] 
    }, 
    "Searching": true, 
    "SortingOrder": "Desc", 
    "RecordsCount": 10, 
    "PageIndex": 0 
} 

如果你需要把它作爲其他單個對象添加此陣如果多個對象是在請求發送第一設置你的參數

1

@Raghvendra在字典中傳遞參數,然後設置您的網址
進入這裏代碼

-(void)call_WebService 
{ 
    NSMutableDictionary *dicParameter=[[NSMutableDictionary alloc] init]; 
    [dicParameter setObject:@"" forKey:@"Parameter1"];// setObject - String/Dictionary/Array 
    [dicParameter setObject:@"" forKey:@"parameter2"]; // setObject - String/Dictionary/Array 
    [dicParameter setObject:@"" forKey:@"Parameter3"];// setObject - String/Dictionary/Array 

    NSError *error = nil; 
    NSData *data = [NSJSONSerialization dataWithJSONObject: dicParameter options:0 error:&error]; 
    NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
    if (error) 
     NSLog(@"%s: JSON encode error: %@", __FUNCTION__, error); 

    NSURL *url = [NSURL URLWithString:@"web Service url url"]; 
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
    [request setHTTPMethod:@"POST"]; 
    NSString *params = [NSString stringWithFormat:@"json=%@", 
         [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
    NSData *paramsData = [params dataUsingEncoding:NSUTF8StringEncoding]; 
    [request addValue:@"8bit" forHTTPHeaderField:@"Content-Transfer-Encoding"]; 
    [request addValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
    [request setHTTPBody:paramsData]; 
    NSURLResponse *response = nil; 
    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
    if (error) 
     NSLog(@"%s: NSURLConnection error: %@", __FUNCTION__, error); 
    // examine the response 
    NSString *responseString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; 
    NSLog(@"responseString: %@",responseString); 
    if(![responseString isEqualToString:@""]) 
    { 
     NSDictionary *dicFinalGetFacility = [NSJSONSerialization JSONObjectWithData:returnData 
                      options:kNilOptions error:&error]; 
     NSLog(@"dicFinalGetFacility: %@",dicFinalGetFacility); 
    } 
} 
+0

[{ 「登錄ID」:151, 「用戶ID」:0, 「SubUserID」:0, 「WorkGroupID」:92, 「WorksFor」: 「醫生」, 「UserWorkGroup」:0 }, { 「SearchingFilters」:{ 「GroupingOperator」: 「和」, 「過濾器」:[ { 「SearchingValue」:「04 -13-2016" , 「SearchingName」: 「AppointmentDate」, 「SearchingOperator」: 「格」 },{ 「SearchingValue」: 「2016年4月27日」, 「SearchingName」: 「AppointmentDate」, 「SearchingOperator」:「Le」 } ], 「Groups」:[ { 「Groups」:[ ], 「GroupingOperator」: 「和」, 「過濾器」:[ ] } ] }, 「搜索」:真, 「SortingOrder」: 「商品說明」, 「RecordsCount」:10, 「的PageIndex」:0 } ] –

+0

如何發送上述格式的數據在IOS –

+0

這樣[getProfileServices sendSynchronousPostRequestWithStringForAction:getProfileURL andParameters:[[NSDictionary中的alloc] initWithObjectsAndKeys:[[NSUserDefaults的standardUserDefaults] objectForKey:@ 「USER_ID」],@ 「登錄ID」,@ 「0」,@ 「SubUserID」,[[NSUserDefaults的standardUserDefaults] objectForKey:@ 「WORK_ID」],@ 「WorkGroupID」,@ 「醫生」,@ 「WorksFor」,@ 「0」,@「UserWorkGroup 「,無]和R. equestType:@ 「POST」]; –