我正在使用这段代码我使用“十六进制字符串”发送值但数据未发布到
"http://localhost/adi/adnan.php"
这是我的代码
NSLog(@"offset: %i colors: RGB A %i %i %i %i",offset,red,green,blue,alpha);
NSString *hexString=[NSString stringWithFormat:@"%02X%02X%02X",red,green,blue];
NSURL *url = [NSURL URLWithString:@"http://localhost/adi/adnan.php"];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *messageBody = hexString;
NSString *msgLength = [NSString stringWithFormat:@"%d", [messageBody length]];
[theRequest setHTTPMethod:@"POST"];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[theRequest setHTTPBody:[messageBody dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if(theConnection)
{
NSLog(@"Connection Successful");
NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:&response error:&err];
NSLog(@"responseData here is: %@", responseData);
NSString *str = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"responseData: %@", str);
receivedata=[NSMutableData data];
NSLog(@"data is: %@",receivedata);
}
这是我的PHP代码
<?php
echo "Engr.Adnan;
// $abc= $_GET['name'];
$abc = $_POST['action'];
print_r($_REQUEST);
echo $adnan = strrev($abc);
?>
我得到这种类型的输出或响应
2013-12-17 01:33:55.615 VBColorPicker[25216:c07] offset: 27744 colors: RGB A 52 255 36 255
2013-12-17 01:33:55.650 VBColorPicker[25216:c07] Connection Successful
2013-12-17 01:33:55.674 VBColorPicker[25216:c07] responseData: <456e6772 2e41646e 616e4172 7261790a 280a290a>
2013-12-17 01:33:55.675 VBColorPicker[25216:c07] responseData: Engr.AdnanArray
(
)
2013-12-17 01:33:55.675 VBColorPicker[25216:c07] data is: <>
答案 0 :(得分:1)
您缺少表单数据中的参数名称:
NSString *hexString = [NSString stringWithFormat:@"%02X%02X%02X", red, green, blue];
应该是
NSString *hexString = [NSString stringWithFormat:@"color=%02X%02X%02X", red, green, blue];
然后像这样检索服务器端
$color = $_POST['color'];
或者,如果您不想指定参数名称,可以像这样获得完整的请求体服务器端:
$requestBody = file_get_contents('php://input'); // will be the hex string