|
|
|
ถามเรื่อง iOS เชื่อมต่อ กับ Web Service Server โดยข้อมูลเป็นลักษณะ JSON ครับ |
|
|
|
|
|
|
|
ผมลองเขียน Post แบบง่าย ๆ แล้วแสดงข้อมูลง่ายมากครับ
URL
http://itsc.feu.ac.th/WSMoblie/WSJson.asmx/GetTestContext
<form target="_blank" action='http://itsc.feu.ac.th/WSMoblie/WSJson.asmx/GetTestContext' method="POST">
<table cellspacing="0" cellpadding="4" frame="box" bordercolor="#dcdcdc" rules="none" style="border-collapse: collapse;">
<tr>
<td></td>
<td align="right"> <input type="submit" value="Invoke" class="button"></td>
</tr>
</table>
</form>
JSON
[{"id_st" : "4301011001","id_sub" : "101101","gr" : "C","name_sub_t" : "การบัญชีเบื้องต้น"},{"id_st" : "4301011001","id_sub" : "101104","gr" : "B+","name_sub_t" : "กฎหมายธุรกิจ"},{"id_st" : "4301011001","id_sub" : "102101","gr" : "A","name_sub_t" : "คอมพิวเตอร์เบื้องต้น"},{"id_st" : "4301011001","id_sub" : "102102","gr" : "C+","name_sub_t" : "การพาณิชย์อิเล็กทรอนิกส์เบื้องต้น"},{"id_st" : "4301011001","id_sub" : "102202","gr" : "B+","name_sub_t" : "การใช้คอมพิวเตอร์ทางธุรกิจ"},{"id_st" : "4301011001","id_sub" : "103101","gr" : "A","name_sub_t" : "หลักการจัดการ"},{"id_st" : "4301011001","id_sub" : "103102","gr" : "A","name_sub_t" : "เศรษฐศาสตร์จุลภาค"},{"id_st" : "4301011001","id_sub" : "103103","gr" : "B+","name_sub_t" : "หลักการตลาด"},{"id_st" : "4301011001","id_sub" : "103201","gr" : "B","name_sub_t" : "เศรษฐศาสตร์มหภาค"},{"id_st" : "4301011001","id_sub" : "103202","gr" : "B+","name_sub_t" : ""}]
เฉพาะฉะนั้นใช้วิธีการ Post ได้เลยครับ
Code (Objective-C)
//Name=Weerachai&Surname=Nukitram"
NSMutableString *post = [NSString stringWithFormat:@"Name=%@&Surname=%@",[txtName text],[txtSurname text]];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSURL *url = [NSURL URLWithString:@"http://itsc.feu.ac.th/WSMoblie/WSJson.asmx/GetTestContext'"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
iOS/iPhone NSURLConnection POST Method and Send Parameter (Objective-C)
|
|
|
|
|
Date :
2013-03-15 11:59:48 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
และท่ามีการส่ง Parameter ไปด้วยล่ะครับ อย่างส่ง Text ไป น่ะครับ
http://itsc.feu.ac.th/WSMoblie/WSJson.asmx?op=GetTestTableContext
ส่ง Number ด้วยครับลง Tableview แสดงรูป ด้วยล่ะครับ
ขอบคุณครับ
|
|
|
|
|
Date :
2013-03-15 12:49:06 |
By :
zerozaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เดียวลองดู ครับ ครับ
|
|
|
|
|
Date :
2013-03-15 13:05:00 |
By :
zerozaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลองเอา Project NSURLConnectioJson ที่โหลดมาในเวป ลองเปลี่ยนใน ViewController.m ครับ
Code (Objective-C)
- (void)viewDidLoad
{
[super viewDidLoad];
galleryid = @"GalleryID";
name = @"Name";
titlename = @"TitleName";
thumbnail = @"Thumbnail";
myObject = [[NSMutableArray alloc] init];
//------------------------
NSMutableString *post = [NSString stringWithFormat:@"Number=%@",@"1"];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSURL *url = [NSURL URLWithString:@"http://itsc.feu.ac.th/WSMoblie/WSJson.asmx?op=GetTestTableContext'"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
//-----------------------
if (theConnection) {
self.receivedData = [[NSMutableData data] retain];
} else {
UIAlertView *connectFailMessage = [[UIAlertView alloc] initWithTitle:@"NSURLConnection " message:@"Failed in viewDidLoad" delegate: self cancelButtonTitle:@"Ok" otherButtonTitles: nil];
[connectFailMessage show];
[connectFailMessage release];
}
แล้วมันไม่ขึ้นครับไม่รู้ว่าผิดตรงไหน ช่วยดูให้ทีครับ
|
ประวัติการแก้ไข 2013-03-15 13:58:40 2013-03-15 14:41:59
|
|
|
|
Date :
2013-03-15 13:23:33 |
By :
zerozaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในตัวอย่างผมก็ได้ปกติครับ
|
|
|
|
|
Date :
2013-03-15 15:30:01 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (Objective-C)
NSMutableString *post = [NSString stringWithFormat:@"Number=%@",@"1"];
ตรงนี้ ครับ ลองเปลี่ยนเป็น แบบนี้ดูนะครับ
เพราะผมก็ส่ง พารามิเตอร์เข้าไปครับ
Code (Objective-C)
NSString *test = @"1";
NSMutableString *post = [NSString stringWithFormat:@"Number=%@",[self.test description]];
|
|
|
|
|
Date :
2013-03-19 12:25:50 |
By :
asakula014 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
http://www.upload-thai.com/download.php?id=ebda84756a99b8676d8e41cba8d95ba5
ผมลองแล้วครับ มันก็ไม่ออกไม่เข้าใจ นี้ไฟล์ผมครับ
รบกวนช่วยดูทีครับ
ขอบคุณครับ
|
|
|
|
|
Date :
2013-03-20 13:29:51 |
By :
zerozaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีใครช่วยดูได้บ้างครับ
|
|
|
|
|
Date :
2013-03-21 12:21:55 |
By :
zerozaaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในตัวอย่างก็มีครับ ขึ้นอยู่ว่าจะศึกษาให้เข้าใจและสามารถ Apply ได้ครับ
|
|
|
|
|
Date :
2013-03-22 06:32:53 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|