我能够使用ajax GET方法将数据发布到php页面,但是我在向POST METHOD添加更多参数时遇到了问题。以下是我使用的代码。因为我能够从php脚本得到响应:
if(XMLHttpRequestObject) {
XMLHttpRequestObject.open("POST", url,true);XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XMLHttpRequestObject.onreadystatechange = function()
{
document.getElementById('statuses').innerHTML = msg1;
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
var content = XMLHttpRequestObject.responseText;
$(document).ready(function(){
$('#statuses').text(content);
});
}
}
XMLHttpRequestObject.send("id=" + id);
}
现在假设我决定使用另一个代码来发送使用jquery更容易的数据,我如何从php脚本获得响应?下面是第二个代码:
$(document).ready(function(){
// get values
cc = $('#ft').attr('value');
cop = $('#copt').attr('value');
// send to processing PHP script
$.ajax({
type: "GET",
cache: false,
url: "processor.php",
data: "cctotal="+ cc +"&coptotal="+ cop + "&id="+ id + "&get=" + 'update',
success: function(){
$('#processing').fadeIn(function(){
var content = 'Customer Account Updated !' ;
$('#statuses').text(content);
});
}
});
});
答案 0 :(得分:1)
ajax的默认contentType是'application/x-www-form-urlencoded; charset=UTF-8'
,因此你不需要设置它,而你在jQuery中调用的普通JS XMLHttpRequestObject
调用就像:
$(function() {
$.post(url, , function(content) {
$('#statuses').html(content);
});
});
要使用一些添加的数据执行POST请求,您可以执行类似
的操作$(function(){
cc = $('#ft').val();
cop = $('#copt').val();
$.ajax({
type: 'POST',
url: url,
cache: false,
data: {cctotal: cc, coptotal: cop, id: id, get: 'update'}
}).done(function(content) {
$('#processing').fadeIn(function(){
$('#statuses').text('Customer Account Updated !');
});
});
});
您将在服务器上的POST超全局中访问该数据。例如在PHP中它将是:
$cc = $_POST['cctotal'];
$cop = $_POST['coptotal'];
$id = $_POST['id'];
$get = $_POST['get'];
答案 1 :(得分:0)
//Try this
$(document).ready(function(){
// get values
cc = $('#ft').attr('value');
cop = $('#copt').attr('value');
// send to processing PHP script
$.ajax({
type: "GET",
cache: false,
url: "processor.php",
data: "cctotal="+ cc +"&coptotal="+ cop + "&id="+ id + "&get=" + 'update',
success: function(data){
$('#processing').fadeIn(function(){
var content = 'Customer Account Updated !' ;
$('#statuses').text(content);
});
alert(data) //server response here
}
});
});