不支持 PHP json_decode,还有其他选择吗?

标签 php jquery ajax json

如标题所述,我的托管服务提供商不支持 json_decode,因此我需要找到一种方法来调整我的代码以实现相同的效果,但不使用 JSON,这是我的代码,

jQuery:

    var allLocations = [];

    $(".locations").each( function(i, location) {
        // for each location block
        location = $(location);
        var loc = {
            'province' : $("select[data-loc*='province']", location).val(),
            'town' : $("select[data-loc*='town']", location).val()
        };
        allLocations.push( loc );
    });

        //POST the locations information
        $.ajax({
                type: 'POST',
                url: 'locations.php',
                dataType: 'json',
                data: { locations: JSON.stringify(allLocations), uid: uid },
                success: function(data){
                    //alert(data)
                }
        });

PHP:

$json = $_POST['locations']; 
$uid = $_POST['uid']; // $json is a string
$json_array = json_decode($json, true); 

mysql_connect('localhost','user','pass') or die(mysql_error());
mysql_select_db('eskom_products') or die(mysql_error());

//insert the locations into the database
while($json_array as $key){
    $query = mysql_query("INSERT INTO suppliersLocations (supplier_id, province, town) VALUES('".$uid."', '".$key['province']."', '".$key['town']."' ) ") or die(mysql_error());
}

echo $text;

如您所见,我正在获取每个位置的省份和城镇值并使用它创建一个 JSON 对象,然后我通过 $.ajax 将其发送到一个 PHP 文件,但是现在由于 json_decode 不起作用,我需要尝试找到另一种解决问题的方法,我正在考虑尝试将关联数组传递给 php 文件,但我想看看你的这家伙的意见是,如果有更好的方法可以达到预期的结果。

提前致谢!

最佳答案

您仍然可以使用 JSON。有几个编码器/解码器库没有你提到的扩展名。例如:

和其他人。看看 json.org

关于不支持 PHP json_decode,还有其他选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3707903/

相关文章:

javascript - 没有地址栏的弹出窗口

javascript - 在rails中使用远程以ajax渲染形式执行脚本

jquery - Django:不刷新更新页面信息

php - UTF-8贯穿始终

php - Fullcalendar 动态设置 minTime 和 maxTime

php - 从 HTML 页面创建 CSV 文件

php - 单独项目的下载计数器,但不同语言的下载计数器相同

jQuery - 如何在不单击的情况下为单击功能设置动画(类似幻灯片放映) - 这可能吗?

javascript - 在 jQuery 中使用 AJAX 以表格格式自动完成显示来自 JSON 的两列

javascript - 通过 jQuery/Ajax 获取 GET URL