我想在按钮点击时通过json webservicesmy发布数据操作代码为:
-(IBAction)login:(id)sender {
NSString *newurlString = [NSString StringWithFormat:@"{\"name\":\"asit\",\"email\":\"m.kulkarni@easternenterprise.com\",\"businessType\":\"1\",\"score\":30}"];
NSString * url = @"http://www.nieuwe-dag.nl/mobile_be/public/?action=saveScore";
NSData *postData = [newurlString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSLog(@"urlString::%@",newurlString);
NSLog(@"postLength::%@",postLength);
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLCacheStorageNotAllowed timeoutInterval:300];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSURLConnection *theConnection =[[NSURLConnection alloc] initWithRequest:request delegate:self];
if( theConnection ) {
webData = [[NSMutableData data] retain];
}
else {
NSLog(@"theConnection is NULL");
}
}
在控制台上的响应是:
[会议开始于2011-07-25 12:36:48 +0530。] 2011-07-25 12:36:48.860 DepartmentalStoreAdmin [2490:207]无法加载 “header.png”图像从带有标识符的包中的nib引用 “com.easternenterprise.dag”2011-07-25 12:36:48.864 DepartmentalStoreAdmin [2490:207]无法加载“leher.png”图像 从带有标识符的包中的nib引用 “com.easternenterprise.dag”2011-07-25 12:36:50.708 DepartmentalStoreAdmin [2490:207] urlString :: { “名”: “培训服务处”, “电子邮件”: “m.kulkarni@easternenterprise.com”, “businessType”: “1”, “分数”:30} 2011-07-25 12:36:50.709 DepartmentalStoreAdmin [2490:207] postLength :: 88 2011-07-25 12:36:52.376 DepartmentalStoreAdmin [2490:207]完成。收到的字节数:52 2011-07-25 12:36:52.377 DepartmentalStoreAdmin [2490:207]
THEXML {“result”:“ERROR”,“errors”:[“名称不能为空”]}
我不知道为什么不发布。请任何人帮助我非常紧急。
提前致谢:
答案 0 :(得分:3)
您的newurlString
必须包含变量名称。如果你添加百分比也可以。例如:
NSString *newUrlString = [[NSString stringWithFormat:@"&json={\"name\":\"asit\",\"email\":\"m.kulkarni@easternenterprise.com\",\"businessType\":\"1\",\"score\":30}"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
如果您没有看到任何更改,请访问:
&json=
。将其更改为您的真实变量名称。例如。如果您的服务器在$_POST['data']
中检查json,则应使用&data=
。stringByAddingPercentEscapesUsingEncoding
增加了转义百分比(例如space
转换为%20
)编辑:抱歉,这是正确的代码:
NSString *newUrlString = [NSString stringWithFormat:@"&json=%@",[[NSString stringWithFormat:@"{\"name\":\"asit\",\"email\":\"m.kulkarni@easternenterprise.com\",\"businessType\":\"1\",\"score\":30}"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];