Iphone 如何向网站发送帖子价值?

Iphone 如何向网站发送帖子价值?,iphone,objective-c,asihttprequest,Iphone,Objective C,Asihttprequest,我需要通过UITextField提交我的申请中的值,我希望该值显示在我发送请求的网站上。我使用AsiTRequest向网站发送请求。我试过这样的方法: NSURL *url = [NSURL URLWithString:@"http://www.project4hire.com/freelance_job_16265.html"]; ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; [reques

我需要通过UITextField提交我的申请中的值,我希望该值显示在我发送请求的网站上。我使用AsiTRequest向网站发送请求。我试过这样的方法:

    NSURL *url = [NSURL URLWithString:@"http://www.project4hire.com/freelance_job_16265.html"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setRequestMethod:@"POST"];
//
[request setPostValue:priceField  forKey:@"bid"];
[request setPostValue:dayField forKey:@"days2c"];
[request setPostValue:commentField forKey:@"comment"];
[request setPostValue:@"1" forKey:@"notify"];
[request setPostValue:@"placebid" forKey:@"Place Bid >>"];
[request setPostValue:@"e6fb12104854e6e9" forKey:@"suid"];
[request setPostValue:@"placebid" forKey:@"a"];
[request setPostValue:@"16265" forKey:@"pid"];

[request setDelegate:self];
[request setDidFailSelector:@selector(requestBidFailed:)];
[request setDidFinishSelector:@selector(requestBidFinished:)];
[request startAsynchronous];

}
- (void)requestBidFailed:(ASIHTTPRequest *)request
{
//notify user
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Error sending         request to the server" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];

}

- (void)requestBidFinished:(ASIHTTPRequest *)request
{
NSLog(@"Status: %d", request.responseStatusCode);
NSLog(@"string: %@",request.responseString);
}
以下是投标表格: 以下是请求和响应标头:

我收到了200条回复,但我发送的值没有显示在网站上。有人能给我建议吗


谢谢

我注意到你正在发布一个HTML文件。除非您有一些特殊设置允许HTML文件可执行,否则HTML文件将不会处理您发布到它的数据。是否只有一个值未显示或所有值均未显示。如果缺少所有值,那么我最初所说的是正确的,您需要使用PHP、CF、Perl或任何您希望从应用程序接收发布数据的语言

我也有同样的问题,但我的问题是在模拟器上工作,但它在设备上不工作,然后我读了一篇文章,它显示ASIHTTPRequest API的创始人不再更新他们的库(我不知道这篇文章是否可靠),所以我决定使用一个更新的库,即RestKit。您可以从以下网站下载并设置:restkit.org,如果您在安装过程中遇到任何问题,请让我帮助您。以下是在restkit库上发布的简单代码:

- (void)post
{
    [RKClient clientWithBaseURLString:@"http://www.project4hire.com"];

    NSDictionary* params = [NSDictionary dictionaryWithObjectsAndKeys:
                            priceField, @"bid",
                            dayField, @"days2c", nil];

    [[RKClient sharedClient] post:@"/freelance_job_16265.html" params:params delegate:self];
}

- (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error {
    NSRange range = [[error localizedDescription] rangeOfString:@"-1012"];
    if (range.length > 0){
        //Do whatever here to handle authentication failures
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Error sending         request to the server" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];
    }
    RKLogError(@"Hit error: %@", error);
}

- (void)request:(RKRequest*)request didLoadResponse:(RKResponse*)response
{
    if ([request isGET]) {
        // Handling GET /foo.xml

        if ([response isOK]) {
            // Success! Let's take a look at the data
            NSLog(@"Retrieved XML: %@", [response bodyAsString]);
        }

    } else if ([request isPOST]) {

        // Handling POST /other.json
        if ([response isJSON]) {
            NSLog(@"Got a JSON response back from our POST!");
        }

    } else if ([request isDELETE]) {

        // Handling DELETE /missing_resource.txt
        if ([response isNotFound]) {
            NSLog(@"The resource path '%@' was not found.", [request resourcePath]);
        }
    }

    NSLog(@"HTTP status code:     %d", response.statusCode);
    NSLog(@"HTTP status message:  %@", [response localizedStatusCodeString]);
    NSLog(@"Header fields: %@", response.allHeaderFields);
    NSLog(@"Body: %@", response.bodyAsString);
}

您可能还需要将代码发布到表单中。所有值都不会显示。为了你的注意,我想你告诉我,如果我创建自己的网站,但在我的情况下,这个网站不是我的。有什么想法吗?@septi,大多数web服务器默认配置为不允许在.htm和.html文件上执行代码。当然,你可以在你的web服务器配置中改变它,这也是我一直在逃避的。@Kalvin,如果你不能控制你要发布到的网站,那就更难了。您能提供有关您试图将数据发布到的网站的详细信息吗?@Sly Raskal:过去15年中,我工作的几乎每台web服务器都允许html文件使用PHP。@SlyRaskal我更新html表单和请求与响应标题。这就是你的意思吗?