我有以下http.get请求...
$http.get("api/checkSave/"+ JSON.stringify($scope.programDetails)).then(function(data) {
....
});
在我的programDetails对象中,至少有一个字段可以包含URL。我认为stringify会正确编码对象,所以它会正确传递给我的PHP函数。但似乎发生的情况是URL未正确发送。我收到一个错误,服务器响应404找不到错误。我手动尝试删除请求中的URL(将其复制到浏览器并为URL字段发送一个空字符串)并正确处理请求 - 这就是为什么我认为stringify不能做什么我需要。
我还需要稍后通过http.post发送此数据以将数据保存在对象中。希望无论我在获取中需要做什么,也会在我致电帖子时适用。
stringify应该正确传递数据还是我需要以不同方式编码?我一直在其他应用中使用stringify,但没有必要在数据中传递一个URL。
如果我需要采用不同的方式,我需要知道在PHP端要做什么来解码它以进行处理。我发现get / post all的例子似乎传递了单个变量而不是对象,而不是其中一个变量中的URL。我已经看过 encodeURIComponent ,但我不确定是否需要使用它,如果是,那么在PHP端使用什么来正确解码
答案 0 :(得分:0)
这与由URL组成的数据没有太大关系(只有URL更有可能在其中包含与其他数据相比在URL中具有特殊含义的字符)。
问题是您将数据放入网址,而网址不是JSON文本。
要对字符串进行编码以将其放入网址,请使用encodeURIComponent
。