如果Json响应包括斜杠,则无法从Ajax调用获取响应

时间:2015-03-02 00:01:18

标签: jquery ajax json jquery-mobile

我正在开发jquery mobile应用并尝试在我的localhost上进行ajax调用,当我尝试使用json获取ajax值时,会出现这些错误{ {1}} jQuery.ajaxTransport.send ..

我真的很困惑这种情况,我找不到任何解决方案。如果我在jQuery.extend.ajax从我的脚本获取ajax值之前删除或替换斜杠,它工作正常,但我的json中有很多url值,并且不想替换所有他们。我必须知道它为什么会发生。希望你能帮帮我。

Json Value

json

的Ajax

[{"Video_URL":"http:\/\/localhost\/video-1-season-trailer\/","Subtitle_URL":"http:\/\/localhost\/wp-content\/uploads\/abc.srt","Video_Image":"http:\/\/localhost\/wp-content\/uploads\/small-icons\/aaa.jpg","post_title":"Video Season 1","post_id":13649,"post_view":"2359","engsub":"none"}]

php方

$.ajax({
    type: "POST",
    url: 'http://localhost/androidjsonvol/?kategorisezon='+get_Cat+'&sezon=true&callback=?',
    dataType: "json", // or jsonp
    success: function(cat_Response){
       var myJsonString = JSON.stringify(cat_Response);
       $.mobile.changePage('bolum.html', { data : myJsonString, reloadPage : true, changeHash : true });

        }, error:function (xhr, ajaxOptions, thrownError){
         //error log
        }
  });

1 个答案:

答案 0 :(得分:1)

看看这个解决方案:

Ajax:

$.ajax({
    type: "GET", // Depending on your type
    url: "your_file.php", // Your php file
    dataType: 'json', // Use jsonp to call cross-domain
    success: function(response) {
        // Using for each
        $.each(response, function(index, element) {
            // Do something with every element
            $('body').append(element);
        });
    }
});

PHP:

<?php

    // For example you have array of Urls
    $array = array('http://www.google.com', 'http://www.twitter.com', 'http://www.twitter.com');

    // Then storing the Json Encode in a variable
    $json = json_encode($array, JSON_UNESCAPED_SLASHES);

    // Remove Backslashes from that variable
    $parse = preg_replace('/\\\"/',"\"", $json);

    // Return the Urls after removing backslashes
    echo $parse;

?>

它正在回归:

http://www.google.com
http://www.youtube.com
http://www.twitter.com

希望有所帮助。

修改:

如果您想使用ajax跨域,可以在ajax类型中使用 jsonp