更新:感谢 Rob,我发现服务器在简单地将地址输入 iOS Safari 时也看不到查询字符串参数(但是,Chrome Mac OS 可以正常工作)。所以看起来它毕竟在服务器端可能有些奇怪。
我遇到了一个奇怪的问题,即以下代码未发送请求的查询字符串部分。如果我登录$_SERVER['QUERY_STRING']
服务器端,它是空白的。但是,如果我只是在浏览器中输入 url,服务器会正确记录它。
如果我登录,也会奇怪地NSURL
拿起查询字符串[nsurl query]
,所以问题似乎与NSURLConnection
or 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
还是不行。