当我尝试通过Joomla中的Ajax发送 textarea 的值时,我遇到了问题。
该变量在ajax请求之前看起来正确。但是,当从helper.php返回时,成功响应var将忽略所有换行符。
我的jQuery / Ajax:
var curBody = jQuery(this).closest("div").children("div").children('textarea').val();
//var curBody = curBodyVal;//.replace("/\r\n/","<br>");
console.log(curBody);
jQuery.ajax({
url: "index.php?option=com_ajax&module=usernotes&method=edit&format=json&Id="+edit_id+"&body="+curBody,
success: function( response ) {
console.log(response);
}
});
在我的helper.php文件中的ajax调用函数:
public static function editAjax()
{
$input = JFactory::getApplication()->input;
//$bodyToUpdate = $input->get("body", 'default_value', 'raw');
$bodyToUpdate = $_GET['body'];
return($bodyToUpdate);
}
答案 0 :(得分:2)
每当您尝试发送不是简单字符串的值时,请通过POST方法而不是GET来发送,
GET用于简单字符串,仅用于ASCII字符范围内的字符。
POST用于任何其他复杂的字符串,您也可以发送二进制数据,例如可以使用POST方法发送文件和图像,但不能使用GET方法发送
将ajax更改为此:
$.ajax({
method: "POST",
url: "index.php",
data: { option: "com_ajax", module: "usernotes" , method: "edit", format: "json" , Id: edit_id, body: curBody },
success: function( response ) {
console.log(response);
}
});