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

时间:2013-08-13 01:50:46

标签: php jquery ajax codeigniter

我想从客户端(jquery)端向服务器端(php-codeigniter)发送2个参数。参数是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将以某种方式使用

1 个答案:

答案 0 :(得分:7)

您可以使用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';
}