Как отправить форму AJAX, используя NSURLConnection - PullRequest
0 голосов
/ 25 января 2012

Я столкнулся с этой проблемой и не могу ее решить.По сути, я делаю приложение для сайта социальной сети.Это форум о компьютерах.У меня нет проблем входа в систему с помощью NSURLConnection и поддерживать сеанс.Но я не могу опубликовать новую тему.Может кто-нибудь, пожалуйста, помогите мне, как сделать это через obj-c?некоторый код ниже здесь.

html-код для отправки новой темы

<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="js/jquery.load.min.js"></script>
    <script type="text/javascript" src="js/jquery.iphone.js"></script>

<form id="form-newreply" action="/newreply.php" method="post">
        <textarea name="message" style="width:95%;height:120px"></textarea><br />
    <input type="hidden" name="do" value="postreply" />
    <input type="hidden" name="parseurl" value="1" />
    <input type="hidden" name="t" value="1375204" />
    <input type="hidden" name="loggedinuser" value="170189" />
    <input type="hidden" name="p" value="" />
    <input type="submit" name="sbutton" value="Send" /></form>

jquery.iphone.js содержит это

// reply

$('#form-newreply').live('submit', function(){
    $.ajax({
        url: '/newreply.php',
        data: {
            'do': 'postreply',  'parseurl': 1,
            't': $(this).find('input[name=t]').val(),
            'p': $(this).find('input[name=p]').val(),
            'loggedinuser': $(this).find('input[name=loggedinuser]').val(),
            'ajax': 1, 'ajax_mobile': 1,
            'message': $(this).find('textarea[name=message]').val()
        }, type: 'POST', timeout: 20000,
        contentType: "application/x-www-form-urlencoded;charset=ISO-8859-1",
        success: function(data){
            if (data.match(/postid:(\d+)/)) {
                var sID = data.replace(/postid:/, '');

                loadPage('sp-' + sID + '.html#p' + sID);
            } else {
                var aM = data.match(/<!--POSTERROR do not remove this comment-->([^<]+)?<ol><li>([^<]+)/);

                if (aM && aM.length == 2 && aM[1].length) {
                    alert(aM[0]);
                } else {
                    alert('ERR');
                }
            }
        }
    });

    return false;
});

1 Ответ

0 голосов
/ 20 марта 2012

Мне удалось сделать это с помощью этого плагина: http://allseeing -i.com / ASIHTTPRequest / How-to-use

...