php - 使用 AJAX 将参数发送到 php Controller 的最佳方法

标签 php jquery ajax codeigniter

我想从客户端(jquery)端发送2个参数到服务器端(php-codeigniter)。参数是 id(整数)和 text(字符串)。我尝试过:

window.location.href="AjaxUpdate/sendMessage/"+id+"/"+text;

过去仅使用 id 对我有用,但由于文本字符串可以包含空格,我可以获得:

http://localhost/b1/mycontroller/myfunction/3/gdfgdgd%20 %20 gd 

给出:

An Error Was Encountered
The URI you submitted has disallowed characters.

使用 jquery 准备字符串并将其传输到服务器端的最佳方法是什么?我假设 ajax 会以某种方式使用

最佳答案

您可以使用 jQuery .ajax() 函数将数据 (JSON) POST 到 PHP 脚本,如下所示:

var postData = {
    "param1" : some_value1,
    "param2" : some_value2
};

console.log(postData);

$.ajax({
    type: "POST",
    url: "test.php",
    data: postData, 
    success: function(){
        alert(param1 + ' ' + param2);
        window.open("test.php"); 
    }
});

更新:

我在 Google 上搜索并找到的 PHP 示例;它似乎没有做太多事情,但不幸的是我根本不熟悉 PHP:

//request parameters
$param_1 = $_POST['param1'];
$param_2 = $_POST['param2'];

echo 'postData: ' . var_dump($_POST);

if ($_POST)){
    echo $param_1;
    echo $param_2;
} else {
    echo 'problem';
}

关于php - 使用 AJAX 将参数发送到 php Controller 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18199436/

相关文章:

php - 一种从给定字符串中选择随机字符的方法

PHP插入错误1064

php - 如何在PHPExcel中设置列的DataValidation?

javascript - 算术运算符作为变量 javascript

javascript - $.ajax get请求方法在IE9中抛出 "access is denied"错误消息

php/html 多页导航栏?

javascript - jQuery:在用户点击 Iphone 时播放音频

jQuery Cycle 插件 - 图像在 Windows 7 专业版 IE 9 中拉伸(stretch)至浏览器的宽度

jquery - 从 struts2 操作返回 JSON 消息

javascript - 如何扩展谷歌分析以跟踪 AJAX 等(根据 H5BP 文档)