好的,我很难找到一个答案,而不仅仅是使用JSON或ASIHTTPRequest。但是,我认为我的问题更加具体。我只是将编程作为一种爱好,所以我不是专家。话虽如此,我对此的抽象理解可能完全不合时宜,因此这个问题可能无法回答。基本上,我想做的是将HTTP请求发送到Web服务器上的pHp脚本,并让Web服务器返回一个值,比如说一个简单的整数值或bool值(例如,一个登录脚本返回yes / no )。在这一点上,我不担心安全性,因为我正努力简化自己对此的理解。从我收集的资料来看,我会用一些东西来达到// Create the request.NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.apple.com/"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];// create the connection with the request// and start loading the dataNSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self];if (theConnection) { // Create the NSMutableData to hold the received data. // receivedData is an instance variable declared elsewhere.receivedData = [[NSMutableData data] retain];} else {// Inform the user that the connection failed.}这是从Apple文档中获得的,我通常对此有所了解。因此,可以说它通过URL将信息发送到pHp文件,然后该文件://pHp file gets information//pHp file uses that information to check against a mySQL database//pHp now has the variable $result with a value of 1 in it另外,假设我可以做到所有这些。我的问题是,如何将pHp中的值返回给iOS'NSMutableData'变量。我会回声吗?例如:echo "$result";然后将这些信息放入NSMutableData中(变量$ result)?我知道如果我严格通过pHp / HTML等来执行此操作,则可能会使用 session 变量之类的东西来允许其他页面访问该变量。还是有其他一些pHp函数将数据返回给我不知道的NSMutabalData?基本上,这是我遇到麻烦的两者之间的链接,即从pHp脚本返回数据-我真的不明白NSMutableData正在“获取”是什么。我已尝试尽可能详细,对这个冗长的问题感到抱歉。请仅假设这是我要尝试做的所有事情,请返回一个值。安全性并不重要(我正在尝试以最简单的级别来理解它,然后在其上进行构建)。我正在尝试避免任何模糊的答案,例如“编写Web服务”或“使用 _ ”来完成此操作,而且我敢肯定有很多更好的方法可以执行此操作,但我不会急于解决一个程序-我只是想学习一下,以更好地理解NSURLConnection,pHp,NSMUtableData以及齿轮如何相互配合。如果我要问的内容在技术上是不可能的,并且没有任何意义,那么我也很感谢您的回答。我尝试搜索,但没有找到关于此难题的满意答案。提前致谢。编辑:我试过了...NSMutableData *receivedData = [[NSMutableData alloc] init];receivedData = [[NSMutableData data] retain];NSString *receivedDataString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding];label.text = receivedDataString;...它在服务器上调用一个pHp文件,该文件基本上是:<?pHp$result = "TRUE";var_dump($result);?>这不起作用。我认为我的问题是在pHp端,是否有一些特殊的命令可以将值返回给NSMutableData对象? (只是一些额外的信息,也许可以进一步阐明我的问题)。编辑二:我似乎无法直接回应,可能是因为我以前只曾匿名使用过该网站,并且我拥有一个新帐户:)感谢您的回答,查尔斯,我尝试使用echo和var_dump,似乎都没有发送数据返回(我的NSMutableData对象转换为NSString时似乎是空的-除非我的 objective-c 错误,但是我已将其解析为几乎最低限度,因此我不认为是这种情况)。 最佳答案 好的,我相信我可以使用它,因此,如果其他人正在寻找相同的答案,我将发布答案。服务器上的PHP文件如下:<?phpecho 'Works';?>我的h文件包含#import <UIKit/UIKit.h>@interface SampleViewController : UIViewController {IBOutlet UIButton *theButton;NSMutableData *receivedData;}@property (nonatomic, retain) IBOutlet UIButton *theButton;-(IBAction) clickTheButton:(id)sender;@end我的m文件包含在相关部分中(其他所有内容都是在SDK中创建Apple时将其放到m文件中的标准内容)-(IBAction) clickTheButton:(id)sender {NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:@"<path to my php file>try.php"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self];if (theConnection) { receivedData = [[NSMutableData data] retain]; NSString *receivedDataString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding]; NSLog(@"This1: %@", receivedData); NSLog(@"This2: %@", receivedDataString);} else { // Inform the user that the connection failed.}}- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {[receivedData setLength:0];NSLog(@"This3: %@", receivedData);}- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {// Append the new data to receivedData.// receivedData is an instance variable declared elsewhere.[receivedData appendData:data];NSString *receivedDataString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding];NSLog(@"This4: %@", receivedDataString);NSLog(@"This5: %@", receivedData);}NSLogs输出如下:This1:''This2:This3:''This4:作品This5:''为了回答我的原始问题,echo 'Works';是将Works单词返回到NSMutableData对象的PHP代码。建立连接后,我需要调用didRecieveData:方法,以将回显的信息实际放入数据文件中。
08-25 17:34