Массив Javascript для отправки AJAX POST - PullRequest
1 голос
/ 16 марта 2011

Вот в чем дело ... Мне нужно сделать скрипт сохранения AJAX. У меня есть целая система, построенная на php, и каждое действие нуждается в обновлении ... Я пытаюсь минимизировать количество обновлений с помощью AJAX ... Я не могу найти способ, как отправить вывод редактора WYSIWYG без потерь в скрипт PHP ...

  if (window.XMLHttpRequest){
    xmlhttp=new XMLHttpRequest();
}
else{
    xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
}
function save(){
    xmlhttp.open('POST','action.php',true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", document.getElementById('output').value.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.send(document.getElementById('output').value);
    xmlhttp.onreadystatechange = function(){
        if(xmlhttp.readyState == 4 && xmlhttp.status==200){
            $('#ajaxresult').css('opacity', 0.1);
            $('#ajaxresult').stopAll().pause(1000).fadeTo(400,1);
            $('#ajaxresult').stopAll().pause(3000).fadeTo(400,0, function(){$(this).hide();});
            document.getElementById('ajaxresult').innerHTML=xmlhttp.responseText;
        }
    }
}

Несмотря на то, что этот скрипт работает нормально, я не могу найти способ, какой массив дать опции отправки ... каков синтаксис или есть что-то, чего я не знаю?

Кстати, я новичок в JS ...

Ответы [ 2 ]

1 голос
/ 24 июля 2013

создать пользовательский параметр в коде JavaScript, как показано ниже:

   var jspNameParam = "content="+escape(document.getElementById('output').value);
    function myFunction() {
        if (xmlhttp) {
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4) {
                /*  want to accsess some data written from action.php */
                }   
            };          
            xmlhttp.open("POST", "action.php", true);   
            xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
            xmlhttp.send(jspNameParam);
        }
    }

Теперь в action.php вы получите весь контент с именем параметра content .

1 голос
/ 16 марта 2011

Я бы изучил использование jQuery и его библиотеки Ajax:

http://api.jquery.com/jQuery.ajax/

Вместо того, чтобы делать все, что вы просто делаете:

$.post({url: 'action.php',data: output,success: function() { /* do something here */ }});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...