【发布时间】:2013-05-08 06:10:11
【问题描述】:
首先我承认我是php的新手,
我在客户端使用 jquery(knockout js),在服务器端使用 PHP。我的代码。
客户端:我正在使用knockout js(Javascript)。调用我的 PHP 服务。
我的代码:
self.VMSaveEditUserMode = function () {
try {
var params = { "ClientData": [controllerVM_.ClientID(), controllerVM_.VMList[0].ClientName(), controllerVM_.VMList[0].ShortName(), controllerVM_.VMList[0].Address(), controllerVM_.VMList[0].CreatedBy(), controllerVM_.VMList[0].CityName(), controllerVM_.VMList[0].PostalCode(), controllerVM_.VMList[0].ContactEmail(), controllerVM_.VMList[0].ContactPhone(), controllerVM_.VMList[0].IsCorporate()] };
$.ajax({
type: "POST",
url: URL + "index.php/phpService/SaveClient/" + controllerVM_.TokenKey(),
data: JSON.stringify(ko.toJS(params)),
contentType: "application/json",
async: true,
dataType: 'json',
cache: false,
success: function (response) {
},
error: function (ErrorResponse) {
if (ErrorResponse.statusText == "OK") {
}
else {
alert("ErrorMsg:" + ErrorResponse.statusText);
}
}
});
}
catch (error) {
alert("Catch:" + error);
}
}
服务器端我的代码,我正在使用这个 PHP 代码来连接 DB。
PHP 代码:
public function SaveClient($userToken)
{
$value = json_decode($Clientdata);
echo $value->ClientData[0];
}
*我的问题*:
- 我不清楚如何在 PHP 中发布数据?我尝试了
$_POST['']方法以及更多方法。 - 我使用 eclipse 作为 php 框架。所以,当我发布数据时无法调试它。正常模式下我可以调试我的代码。但不能远程调试。因为我也对
php.ini文件进行了更改。
如何在 php 代码中获取 Post Data 的响应?
如何通过远程post调试?
我的请求示例:
假设我使用:
对于,data: params,只有当时我的请求格式是。
ClientData%5B%5D=4&ClientData%5B%5D=kamlesh&ClientData%5B%5D=KAM&ClientData%5B%5D=Junagadh&ClientData%5B%5D=me&ClientData%5B%5D=SANTA+ROSA&ClientData%5B%5D=76220&ClientData%5B%5D=kamlesh.vadiyatar%40gmail.com&ClientData%5B%5D=9998305904&ClientData%5B%5D=false
给,data: JSON.stringify(ko.toJS(params)),
{"ClientData":["4","kamlesh","KAM","Junagadh","me","SANTA ROSA","76220","kamlesh.vadiyatar@gmail.com","9998305904",false]}
【问题讨论】:
-
尝试用
data: params,替换data: JSON.stringify(ko.toJS(params)), -
为了调试这个我推荐 FireBug + FirePHP 扩展
-
@k102,对不起,但我不熟悉 firePHp ......我不这么认为,这里的 firebug 应该可以帮助我。据我所知。
标签: javascript php sql-server knockout.js