我正在序列化一个字符串,以便能够发送到php脚本,但该函数将字符串保留为/而不是/。
我想从字符串中删除\
。
你能帮助我吗?
我使用的功能:
$scope.serialize = function(obj, prefix) {
var str = [];
for(var p in obj) {
if (obj.hasOwnProperty(p)) {
var k = prefix ? prefix + "[" + p + "]" : p, v = obj[p];
str.push(typeof v == "object" ?
serialize(v, k) :
encodeURIComponent(k) + "=" + encodeURIComponent(v));
}
}
return str.join("&");
}
我正在使用此功能发送到文件:
$scope.send = function(){
// sendToServer.f($scope.serialize($scope.line))
sendToServer.f($scope.line)
.success(function(){
console.log('SUCESS ! sent to angualar-seed/db.jsonp, using appendToDb.php !')
})
.error(function(){
console.log('ERROR !')
});
}
FYI将字符串发送到php的函数是:
services.js:
.service('sendToServer', [
'$http',
function ($http) {
'use strict';
this.f = function (dataToSend) {
return $http({
url: 'http://id:pwd@bodlip.com/angular-seed/appendToDb.php',
method: "POST",
data: dataToSend,
headers : {
'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8'
}
});
};
}
])
我以为我应该在php中这样做,我把它放在我的php文件中:
$data[] = $_POST;
//file_put_contents('log.txt', print_r($data, true), FILE_APPEND);
function stripslashes_deep($value)
{
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);
return $value;
}
$data = stripslashes_deep($data);
答案 0 :(得分:0)
我将此行添加到我的代码中:
$line = str_replace('\\', '', $line);