2011-03-16 65 views
1

这是处理...我需要做一个AJAX保存脚本。我有一个建立在PHP上的整个系统,每个动作都需要刷新......我试图通过使用AJAX来最小化刷新计数......我似乎无法找到一种方式来发送所见即所得的编辑器输出而不会丢失PHP脚本...AJAX POST的Javascript数组发送

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初学者...

回答

1

我会考虑使用jQuery和它的Ajax库:

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

而不是做一切你根本就:

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

的问题是数据字段... 如何制备POST阵列,使得ID不松动数据... 例如,如果我想要写以下变量a = 1且B = 33和c ='¡aize kautkādaunvēlsazinžuķīļņšģīŗ'... 现在a和b将会是完美的,但是c会在某些时候被切断,最有可能失去的只是šāēžķ等......我需要它包含所有可能的字符,不要忽略它们,因为它现在正在做... – user663184 2011-03-18 11:16:02

+0

我会推荐以及使用jQuery或其他Ajax库。 – Sebastian 2013-07-24 08:10:10

1

在像下面的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中,您将获得整个内容,其参数名称为内容