使用序列化,并删除转义斜杠的反斜杠

Use serialize, and remove backslashes escaping slashes

我正在序列化一个字符串以便能够发送到 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 !')
        });
}

仅供参考,将字符串发送到 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);

我将这一行添加到我的代码中:

$line = str_replace('\', '', $line);