[英]Store on PHP variables sent by Ajax
我正在創建DDBB插入槽$ .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']);
...都沒用
您需要使用contentType參數指定要發送的數據。 有關更多參考
$(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
,然后嘗試。
您可以在PHP文件中使用此$ _REQUEST代替$ _POST。
$ms_content = $_REQUEST['ms_content'];
代替
$ms_content = $_POST['ms_content'];
第二個可能是由於網址路徑
嘗試提供完整的網址路徑。
第三
提供一個contentType。
我認為您必須訪問$ _GET參數,因為jquery文檔說:
數據類型:PlainObject或String或Array要發送到服務器的數據。 如果還不是字符串,則將其轉換為查詢字符串。 它被附加到GET請求的URL上。 請參閱processData選項以防止這種自動處理。 對象必須是鍵/值對。 如果value是一個Array,則jQuery會根據傳統設置(如下所述)的值,使用相同的鍵序列化多個值。
http://api.jquery.com/jquery.ajax/
這樣您將獲得您的數據
$ms_img = $_GET['ms_img'];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.