首先,我要说明我是新手 to php,我在客户端使用jquery(剔除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];
}*我的问题*
$_POST['']方法以及更多的方法。php.ini文件进行了更改。如何在php代码上获得Post数据的响应?
如何通过远程post进行调试?
我的请求示例:
假设我使用
For,只在当时我的请求格式是。
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=falseFor,
{"ClientData":["4","kamlesh","KAM","Junagadh","me","SANTA ROSA","76220","kamlesh.vadiyatar@gmail.com","9998305904",false]}发布于 2013-05-22 12:35:08
如果我正确理解,您需要创建一个PHP服务,它能够接收来自客户端的类似REST的请求。
为了完成thad,您需要访问原始的POST数据。在PHP中,它是这样完成的:
$ClientData = file_get_contents('php://input');您可以在php://input中阅读更多关于包装文件的内容。
当然,从客户端来说,数据需要使用POST方法作为原始数据发送,即作为字符串发送。您可以使用JSON.stringify()从对象中获取字符串,您已经这样做了。
如果您传递一个对象,它将由jQuery使用查询字符串格式在内部转换为字符串。在用于jQuery的$.ajax文档中会有更多的介绍(最重要的选项是data和processData)。
发布于 2013-05-08 06:15:45
只需将ajax数据param作为对象传递,不要将其转换为JSON。然后在PHP中直接使用$_POST。
使用firebug或chrome工具分析ajax请求并查看发送了哪些数据。
发布于 2013-05-08 06:22:37
使用这个简单的jquery函数来完成任务。
$.ajax({
type: "POST",
url:"scripts/dummy.php",
data:"tbl="+table,
dataType:"json", //if you want to get back response in json
beforeSend: function()
{
},
success: function(resp)
{
},
complete: function()
{
},
error: function(e)
{
alert('Error: ' + e);
}
}); //end Ajaxhttps://stackoverflow.com/questions/16433794
复制相似问题