请考虑以下代码段 我提交了一个包含背景图片网址的表单,我已经序列化了表单数据。在php中,URL没有解码,如何获取orignal url
$("#slider_settings_form").submit(function(e) {
var postData = $(this).serialize();
submited form
$.ajax({
url: ajaxurl,
data: {
"params": postData,
"action": "saveFormSettings"
},
method: "POST",
success: function(response) {
alert(response);
},
});
答案 0 :(得分:1)
使用string urldecode( string $str )
功能解码您编码的网址数据
如需了解更多信息,请点击此link
答案 1 :(得分:1)
可以这样添加urldecode
来成功解析:
parse_str(urldecode($_REQUEST['params']), $params);
urldecode
很重要,因为它将URL编码的字符串转换为可分析的字符串。
答案 2 :(得分:0)
如果你想从javascript实现它,你可以使用这些方法:
var uri = "http://stackoverflow.com/questions/30587877/how-to-decode-serialize-url-from-javascipt-in-php"
var uri_enc = encodeURIComponent(uri); //for encoding
var uri_dec = decodeURIComponent(uri_enc); //for decoding
以下链接了解更多详情: Url decode and encode
答案 3 :(得分:0)
看看这个related question。
我们需要了解您如何解码PHP中的数据以帮助您,但除了我之前的答案(建议使用icon.setImageDrawable(mContext.getResources().getDrawable(item.getResourceId()));
)之外,您还应该确保{{ 1}}实际上有数据。
仅成功控制"被序列化为字符串[...] - 第二个答案
完全有可能urldecode
为零。你应该通过警告来测试它并从那里开始。我链接的问题通过代码示例得到了更全面的答案。
答案 4 :(得分:0)
var postData = $(this).serialize();
- 这会创建一个类似'a=1&b=2'
的查询字符串,其中a
和b
是表单字段。您可能需要获取a
或b
的值 - 以下代码可以帮助您:
parse_str($_GET['params'], $params);
// then you can use $params['a'] to fetch form field 'a'
print_r($params);
// =>
//Array
//(
// [a] => 1
// [b] => 2
//)
有关parse_str
的详情,请参阅http://php.net/manual/en/function.parse-str.php