0
我嘗試發送一個datetime(2013-03-12 09:43:09)字符串從表單通過ajax到數據庫。我用follwoing JSJoomla 2.5 Ajax將數據保存到db字符編碼
$.ajax({
type: "POST",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
data: {
end: $('#endtime').val()
},
url: 'index.php?option=com_sprojectfree&view=checkin&task=saveSlot&format=raw',
success: function(data) {
console.log(data);
}
});
URL指向的方法saveSlot我Controller.php這樣
public function saveSlot()
{
$input = JFactory::getApplication()->input;
$data = new stdClass();
$data->end = $input->get('end');
db = JFactory::getDBO();
$result = $db->insertObject('#__spf_chunks', $data, 'id');
...
}
數據對象是這樣的:
stdClass Object
(
[end] => 2013-03-12095730
)
和POST源這樣:
end=2013-03-12+09%3A57%3A30
我在JS中嘗試了所有字符集,urldecode()和encodeURIComponent()的組合,但沒有給我正確的字符串:返回將其保存在數據庫中。我能做什麼?提前致謝。
我嘗試過這一點,它不工作。 urldecode($ data-> end)給了我2013-03-12101707錯誤必須在另一個地方。 – 2013-03-12 09:21:03
嘗試將$ data-> end分配給一個變量然後解碼。 Bcoz其工作精細的urldecode(「2013-03-12 + 09%3A57%3A30」);.也可以嘗試,而不是對象發送參數。它可能會工作 – 2013-03-12 09:39:50
使用urldecode(JRequest :: getVar('結束'))工作正常,但它已被棄用。建議使用JInput ::。使用我上面的代碼給我這樣的:2013-03-1220103A433A33。我們的目標是使用輸入過濾器:'$ data-> end = urldecode($ input-> get('end','','string'));'並且它的工作 – 2013-03-12 09:47:57