0

我正在使用 php 和 mysql 数据库开发 iOS Web 应用程序,我的问题是 nsurl 请求获取 php 文件的值没有响应并且不起作用但是,我在命令提示符 url 中打印并复制 url 粘贴并成功更新到浏览器。但是,没有更新,也没有响应 nsurl 请求我的代码有什么问题?谁能帮助我!

            NSURL *url = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"http://192.168.1.20:90/inkfreakz/update.php?fname=%@&lname=%@&gender=%@&dob=%@&uname=%@&email=%@&city=%@&zcode=%@&state=%@&count=%@&tattoo=%@&aboutme=%@&id=%@",txt_first.text,txt_last.text,txt_gender.text,txt_birth.text,txt_user.text,txt_email.text,txt_city.text,txt_zip.text,txt_state.text,txt_country.text,txt_tatoo.text,txt_about.text,[results objectAtIndex:13]]];
            NSLog(@"%@",[NSString stringWithFormat:@"http://192.168.1.20:90/inkfreakz/update.php?fname=%@&lname=%@&gender=%@&dob=%@&uname=%@&email=%@&city=%@&zcode=%@&state=%@&count=%@&tattoo=%@&aboutme=%@&id=%@",txt_first.text,txt_last.text,txt_gender.text,txt_birth.text,txt_user.text,txt_email.text,txt_city.text,txt_zip.text,txt_state.text,txt_country.text,txt_tatoo.text,txt_about.text,[results objectAtIndex:14]]);

            NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:5];

            NSData *urlData;
            NSURLResponse *response;
            urlData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:nil];
            NSString* newStr = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding];

            if(newStr.length==0)
            {
                lbl_status.text=@"Can't Communicate with Server!";
                lbl_status.hidden=NO;
                [my_scroll_view setContentOffset:CGPointMake(0,0) animated:YES];
            }
            else {
                lbl_status.text=newStr;
                lbl_status.hidden=NO;
                [my_scroll_view setContentOffset:CGPointMake(0,0) animated:YES];
            }

谢谢!

4

2 回答 2

1

我建议使用– stringByAddingPercentEscapesUsingEncoding:来构建您的 URL,因为它可能需要一些转义:

NSString* urlString = [NSString stringWithFormat:@"http://192.168.1.20:90/inkfreakz/update.php?fname=%@&lname=%@&gender=%@&dob=%@&uname=%@&email=%@&city=%@&zcode=%@&state=%@&count=%@&tattoo=%@&aboutme=%@&id=%@",txt_first.text,txt_last.text,txt_gender.text,txt_birth.text,txt_user.text,txt_email.text,txt_city.text,txt_zip.text,txt_state.text,txt_country.text,txt_tatoo.text,txt_about.text,[results objectAtIndex:13];

NSURL *url = [[NSURL alloc] initWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
于 2012-05-31T13:37:03.280 回答
1

试试下面的代码;

NSString *urlString = [@"your url addres as string" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *myUrl = [NSURL URLWithString:urlString];
NSURLRequest *request = [NSURLRequest requestWithURL:myUrl];

如果您的网址有空格,这将起作用..或者您应该查看 NSString 函数。

于 2012-05-31T13:39:02.673 回答