通过电子邮件发送JavaScript对象数组

时间:2014-08-13 19:44:45

标签: javascript php json email object

到目前为止,我有代码的布局(附在这篇文章中)。在我的JavaScript中,我有不同的操作,最后我得到了一些名为MyObjects的对象。

对象具有Name和Phone属性,因此最终结果具有以下格式:

  MyObjects[0].Name    
  MyObjects[0].Phone    
  MyObjects[1].Name    
  MyObjects[1].Phone 

现在我需要做的是通过电子邮件在某个电子邮件地址发送此信息。此代码位于服务器上的PHP脚本中。那么如何通过电子邮件发送这些数据(对象数组)呢?我是否需要以某种方式将其转换为PHP格式或以某种方式通过ajax将其发送到某些PHP脚本?

<script type="text/javascript">
    $(document).ready(function() {                
       $.ajax({
          url : "some_URL",
          type: 'post',
          dataType : 'json',   // use jsonp for cross origin request
          data: JSON.stringify(jsonData),
          success : function(data){
             //MY CODE FOR AJAX SUCCESS
                 ...
                 ...
                 ...
                 console.log(MyObjects);
                 //MyObjects[0].Name
                 //MyObjects[0].Phone
                 //MyObjects[1].Name
                 //MyObjects[1].Phone                   

           }, error : function(err){
                 console.log('error');
                 //MY CODE FOR AJAX FAILURE
           }
       });
   });    
</script>

我真的很困惑,因为我第一次遇到需要发送一些JavaScript对象格式数据的情况。

1 个答案:

答案 0 :(得分:3)

 MyObjects[0].Name = 'ben';  
 MyObjects[0].Phone = '0666'
 MyObjects[1].Name = 'med';  
 MyObjects[1].Phone = '0999';
// the output of JSON.stringify [{"Name":"ben","Phone":"0666"},{"Name":"med","Phone":"0999"}]"

$.ajax({
   type: "POST",
   data: {mydata: JSON.stringify(MyObjects)}, 
   url: "index.php",
   success: function(data){
   }
});

然后在PHP中:

$data = $_POST['mydata'];

注意: dataType 选项仅用于解析收到的数据。