使用AJAX将参数发送到php控制器的最佳方式


Best way to send parameters to php controller with AJAX

我想从客户端(jquery)向服务器端(php codeigner)发送两个参数。参数是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"); 
    }
});

更新:

我在谷歌上搜索并找到的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';
}