更新: Rob のおかげで、iOS Safari にアドレスを入力するだけでサーバーがクエリ文字列パラメーターを認識しないことも発見しました (ただし、Chrome Mac OS は正常に動作します)。結局のところ、サーバー側で何かおかしくなっているようです。
次のコードがリクエストのクエリ文字列セクションを送信しないという奇妙な問題が発生しています。$_SERVER['QUERY_STRING']
サーバー側にログオンすると、空白になります。ただし、ブラウザに URL を入力するだけで、サーバーは正しくログに記録します。
また、奇妙なことNSURL
に、ログに記録するとクエリ文字列が正常に検出[nsurl query]
されるため、問題はまたはのいずれ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
てもダメ。