2011-11-24 22 views
5

Tôi ĐÃ HOÀN THÀNH DUMMY trong ASIHTTPYêu cầu. Tôi vừa tải xuống thư viện và thêm nó vào dự án của tôi và bây giờ tôi đang cố gắng để hiểu cơ bản về làm việc với nó. Tôi đã tìm thấy một số ví dụ khá hay hereASIHTTPRequest for dummies

hướng dẫn nhỏ này là về việc tải hình ảnh lên máy chủ. Tôi đã thử nó và mọi thứ dường như hoạt động (nhưng tôi nhầm lẫn với NSString được trả về bởi [request responseString], nó trả lại mã HTML của toàn bộ trang web) nhưng tôi muốn biết cách tải xuống hình ảnh (hoặc bất kỳ thứ gì được tải lên) từ máy chủ. Sau khi tìm kiếm một chút tôi tìm thấy this và nó đã cho tôi không có câu trả lời nhưng nhiều câu hỏi chỉ, gây ra nó khá không rõ ràng cho tôi. Hãy để tôi liệt kê các câu hỏi của tôi:

1) Bạn có thể cung cấp cho tôi một đoạn mã nhỏ cho biết cách tải xuống dữ liệu (không cần biết loại dữ liệu: hình ảnh, chuỗi, số vv) từ máy chủ?

2) Tôi có nên biết mã php của phía máy chủ để làm việc với máy chủ không?

3) Nếu có - làm thế nào để tôi biết mã php của phía máy chủ?

4) Làm thế nào quan trọng là nếu yêu cầu được xử lý bởi tập lệnh php hoặc bằng bất kỳ phương tiện nào khác?

5) Vai trò của responseString là gì? Có ổn không khi nó trả lại cho tôi một mã HTML lớn?

6) Câu hỏi chính. Có một hướng dẫn tốt cho ASIHTTPRequest? Một cái gì đó như "ASIHTTPRequest for dummies"? Tôi tìm thấy tài liệu chính thức here nhưng nó giải thích các công cụ thực sự kém và tôi chỉ không thể tìm thấy bất kỳ hướng dẫn khác.

Mọi sự trợ giúp đều cần thiết.

+5

lưu ý: không tìm hiểu ASI nữa :) Đó là một con ngựa đã chết –

Trả lời

6

1) Bạn có thể vui lòng cung cấp cho tôi một đoạn mã nhỏ cho biết cách tải xuống dữ liệu (không cần biết loại dữ liệu: hình ảnh, chuỗi, số vv) từ máy chủ?

đây bạn có thể tìm thấy một ví dụ POST rất cơ bản:

NSURL *url = [NSURL URLWithString:@"http://localhost/webroot/index.php/test/signUp"]; 

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
[request addPostValue:@"Raul" forKey:@"name"]; 
[request addPostValue:@"Hello World" forKey:@"message"]; 

[request setCompletionBlock:^{ 
    NSString *responseString = [request responseString]; 
    NSLog(@"Response: %@", responseString); 
}]; 
[request setFailedBlock:^{ 
    NSError *error = [request error]; 
    NSLog(@"Error: %@", error.localizedDescription); 
}]; 

[request startAsynchronous]; 

nó sử dụng các khối, vì vậy wverything đó là độc đáo đóng gói cùng nhau trong một chức năng và bạn không phải đối phó với các đại biểu và phần còn lại . (source)

Nếu bạn chỉ muốn để có được một trang, bạn có thể sử dụng:

NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"]; 
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
[request setCompletionBlock:^{ 
    NSString *responseString = [request responseString]; 
    NSLog(@"Response: %@", responseString); 
}]; 
[request setFailedBlock:^{ 
    NSError *error = [request error]; 
    NSLog(@"Error: %@", error.localizedDescription); 
}]; 

[yêu cầu startAsynchronous];

2) Tôi có nên biết mã php của phía máy chủ để làm việc với máy chủ không?

tuyệt đối không cần thiết.

3) Nếu có - làm thế nào để tôi biết mã php của phía máy chủ?

N.A.

4) Điều này quan trọng như thế nào nếu yêu cầu được tập lệnh php xử lý hoặc bằng bất kỳ phương tiện nào khác?

ngôn ngữ mà máy chủ được viết không có liên quan.

5) Vai trò của responseString là gì? Có ổn không khi nó trả lại cho tôi một mã HTML lớn?

responseString chứa tất cả dữ liệu mà máy chủ gửi lại cho bạn dưới dạng NSString. Nó có thể rất lớn ...

6) Câu hỏi chính. Có một hướng dẫn tốt cho ASIHTTPRequest? Một cái gì đó như "ASIHTTPRequest for dummies"? Tôi tìm thấy tài liệu chính thức ở đây bấm vào nhưng nó giải thích những thứ thực sự kém và tôi chỉ không thể tìm thấy bất kỳ hướng dẫn khác.

Tôi không biết về hướng dẫn "dành cho người giả" như bạn nói; bạn nên thử và làm theo các tài liệu trên trang web; chúng có thể xuất hiện phức tạp, nhưng không thực sự.

Lưu ý khác, có thể bạn đã biết: development of ASIHTTP has been ceased. Nếu bạn chỉ mới bắt đầu tìm hiểu về nó, bạn có thể suy nghĩ tốt hơn về việc xem xét một sự thay thế. Nhìn vào trang được liên kết cho một số lựa chọn thay thế.

+0

bạn cũng sao chép tệp PHP mà tác giả đã cung cấp và cài đặt nó dưới máy chủ web của bạn? HTML bạn nhận được trông như thế nào (ít nhất một phần)? – sergio

+0

tiền phạt. Tôi cũng đã thêm một đoạn mã khác cho yêu cầu GET ... hy vọng nó sẽ giúp ... – sergio