2016-06-07 72 views
0

我想将使用AJAX JQuery的数据data: ({name: 'ccenter', value: 'Sales Department' })传递到PHP页面没有任何提交。 我尝试用session_name(); session_start();但它并没有work.variable $ccenter仍然undefined.I想我已经错过了一些代码做so.please帮助me.Thanks如何将数据从JQuery AJAX传递到PHP无需提交

这里是我的jQuery的AJAX代码:

$(function() { 
    $.ajax({ 
     url: 'empid_list.php', 
     type: "post", 
     async:true, 
     data: ({name: 'ccenter', value: 'Sales Department' }), 
     dataType: 'html', 
     success: function(data) { 
      $('#employeeid').html(data); 
     } 
    });  
}); 

这里是我的PHP文件代码:

<?php 
    session_name('session1'); 
    session_start();  
    $ccenter = $_POST['ccenter']; 
?> 
+0

$ ccenter = $ _ POST [ 'ccenter'];或者$ ccenter = $ _POST ['name']; ?? – anju

+0

应该是'$ _POST ['name']'而不是'$ _POST ['center']'(因为键 - >值关联),并且您应该从php回显某些内容,否则'data'将会是'undefined' 。 – briosheje

+0

控制台中的任何错误?您是否尝试在我们的服务器端通过print_r($ _ POST)检查数据? – Poria

回答

2

你的数据格式是错误的,必须{data-name:data-value}

data: {name: 'ccenter', value: 'Sales Department' } 

所以,你应该用数据名字称呼

$ccenter = $_POST['name']; 
+0

谢谢@David Jawphan。有效。 – user5005768

+0

很高兴听到! –

0

,我建议你使用JavaScript的数据形对象:

var formData = new FormData(); 
formData.append("ccenter", "Sales Department"); 


$.ajax({ 
      url: 'empid_list.php', 
      type: "post", 
      async:true, 
      data: formData, 
      dataType: 'html', 
      success: function(data) { 
       $('#employeeid').html(data); 
      } 
     }); 
+0

FormData是否支持所有浏览器? –

+0

是@DamienPirsy在我所知的所有当前浏览器中... –

+0

@DamienPirsy基本支持(无附加文件):Chrome 7+,Firefox 4.0+,Internet Explorer 10+,Opera 12+,Safari 5+ 检查出来:[link](https://developer.mozilla.org/en-US/docs/Web/API/FormData/FormData#Browser_compatibility) –

相关问题