日期:2014-05-17  浏览次数:20639 次

AJAX 传递数据怎么样才可以是 json

JScript code


var http_request = false;
   function makeRequest(url,value) {

       http_request = false;

       if (window.XMLHttpRequest) {
           http_request = new XMLHttpRequest();
           if (http_request.overrideMimeType) {
               http_request.overrideMimeType('text/xml');
           }
       }
       else if (window.ActiveXObject) { // IE
           try {
               http_request = new ActiveXObject("Msxml2.XMLHTTP");
           } catch (e) {
               try {
                   http_request = new ActiveXObject("Microsoft.XMLHTTP");
               } catch (e) { }
           }
       }

       if (!http_request) {
           alert('Giving up :( Cannot create an XMLHTTP instance');
           return false;
       }
       http_request.onreadystatechange = alertContents;
       //    http_request.open('GET', url, true);
       //    http_request.send(null);
       //http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
     
      http_request.open('POST', url, true);

      var data= value.toLocaleString();//转换还是失败 
      http_request.send(data); //这里的值是json的格式,现在只支持字符串啊这怎么写啊?      

   }

   function alertContents() {

       if (http_request.readyState == 4) {

           if (http_request.status == 200) {
               var text = http_request.responseText;
               var myresult = http_request.responseXML;
               var count = myresult.childNodes[1].childNodes[0].text;
               if (count == 1) {
                   alert('成功');
               } else {
                   alert('失败' + http_request.responseXML);
               }
           }
           else {
               alert('连接出现问题');
           }
       }

   }




------解决方案--------------------
var text = http_request.responseText;
var jsonObj = eval('(' + text + ')');
var name = jsonObj.name
------解决方案--------------------
传递对象的时候可以用json,{user1:{name:张三,age:30},user2:{name:李四,age:40}}
------解决方案--------------------
传递的data以这种形式:
var data={key1:value1,key2:value2,key3:value3,...}
 http_request.send(data);