PhoneGap / ChildBrowser - форма приложения POST для ChildBrowser - PullRequest
1 голос
/ 16 февраля 2012

Я создаю приложение для iPhone, используя PhoneGap. Я использую плагин ChildBrowser.

Если в приложении есть форма с именем пользователя / паролем, могу ли я в любом случае опубликовать эту информацию на URL-адресе, например www.mydomain.com/login.php, и открыть его в ChildBrowser?

Пожалуйста, дайте мне знать.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 25 мая 2012

Я искал решение и закончил его разработку.Это не выходит из коробки в childbrowser для iPhone.Итак, вот код, который я добавил в плагин.К вашему сведению, данные должны быть строкой в ​​формате: arg1 = value1 & arg2 = value2 & foo = bar

ChildbrowserViewController Я добавил следующий метод:

- (void)postURL:(NSString*)url data:(NSString*)data{
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL: [NSURL URLWithString:url]];
[request setHTTPMethod: @"POST"];
[request setHTTPBody: [data dataUsingEncoding: NSUTF8StringEncoding]];
[webView loadRequest: request];
webView.hidden = NO;}

ChildbrowserCommand Я добавил следующий код в метод showWebPage:

NSString* method = [ options objectForKey:@"method"];
if ([method isEqualToString:@"POST"]){
    [childBrowser postURL:url data:[options objectForKey:@"data"]];
}else{
    [childBrowser loadURL:url];
}

HTH!Milton.

3 голосов
/ 20 февраля 2012

Вы, безусловно, можете передать параметры GET в childBrowser.showWebPage().

Вы можете перехватить отправку вашей формы в вашем приложении и собрать имена полей и переданные значения (при условии, что это форма входа в систему, так сказатьимя пользователя и пароль) и передайте их в качестве параметров URL-адресу, открытому в ChildBrowser.

childBrowser.showWebPage('https://www.mydomain.com/login.php?username='+username+'&password='+password)

Это довольно простая версия для демонстрационных целей.Это не займет много времени, чтобы сделать его лучше.

Подвох, конечно, в том, что он отправляется через GET.Если ваша форма входа ожидает POST и вы не можете это изменить, у вас может быть проблема.

Редактировать:

Если POST - ваш единственный вариант, возможно, вам лучше использовать AJAX для публикации в форме вместо использования дочернего браузера.

...