用于 AJAX POST 发送的 Javascript 数组

发布于 2024-10-22 01:50:58 字数 1142 浏览 5 评论 0原文

事情是这样的...我需要制作一个 AJAX 保存脚本。我有一个基于 php 构建的整个系统,每个操作都需要刷新...我试图通过使用 AJAX 来最小化刷新次数...我似乎找不到一种方法如何无损地发送所见即所得编辑器输出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 的初学者......

Here is the deal... I need to make an AJAX save script. I have a whole system built on php and every action needs a refresh... I'm trying to minimize the refresh count by using AJAX ... I can't seem to find a way how to send a WYSIWYG editor output without loss to the PHP script...

  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;
        }
    }
}

While this script works fine I can't seem to find the way what kind of array to give the send option... what is the syntax or is there something I don't know?

BTW I'm a beginner in JS...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烟酉 2024-10-29 01:50:58

我会考虑使用 jQuery 及其 Ajax 库:

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

而不是做所有你会做的事情:

$.post({url: 'action.php',data: output,success: function() { /* do something here */ }});

I'd look into using jQuery and it's Ajax library:

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

Instead of doing all that you'd simply do:

$.post({url: 'action.php',data: output,success: function() { /* do something here */ }});
余厌 2024-10-29 01:50:58

在 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 的完整内容。

create custom parameter in the javascript code like below:

   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);
        }
    }

Now in action.php you will get whole content with the parameter name content.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文