【发布时间】:2013-07-29 19:28:33
【问题描述】:
更新:感谢 Rob,我发现在 iOS Safari 中简单地输入地址时,服务器也看不到查询字符串参数(但是,Chrome Mac OS 可以正常工作)。所以看起来它毕竟在服务器端可能有些奇怪。
我遇到了一个奇怪的问题,即以下代码未发送请求的查询字符串部分。如果我在服务器端记录$_SERVER['QUERY_STRING'],它是空白的。但是,如果我只是在浏览器中输入 url,服务器会正确记录它。
如果我登录[nsurl query],也奇怪的是NSURL 可以很好地提取查询字符串,所以问题似乎出在NSURLConnection 或NSURLRequest。
NSString* queryString = [self.appDelegate.connections componentsJoinedByString:@"|"];
NSString* url = [NSString stringWithFormat:@"http://mysite.com/?%@&isajax=1", queryString];
NSLog(@"url: %@", url); // http://mysite.com/?test&isajax=1
NSURL* nsurl = [NSURL URLWithString:url];
NSLog(@"nsurl: %@", [nsurl query]); // test&isajax=1
NSURLRequest *request = [NSURLRequest requestWithURL:nsurl];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^( NSURLResponse* response, NSData* responseData, NSError* error ) {
// returns the page as if no query string were present at all
}];
我想知道这是否与缺少文件名有关。也许NSURLConnection 不喜欢那样。 编辑:不,与此无关。试过/index.php?test&isajax=1还是不行。
【问题讨论】:
标签: php cocoa-touch mod-rewrite query-string nsurlconnection