如何从PHP中的javascript解码序列化网址

时间:2015-06-02 05:17:14

标签: javascript php jquery ajax

请考虑以下代码段     我提交了一个包含背景图片网址的表单,我已经序列化了表单数据。在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);
        },

    });

5 个答案:

答案 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'的查询字符串,其中ab是表单字段。您可能需要获取ab的值 - 以下代码可以帮助您:

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