Обработка искаженного удаленного ответа JSONP - PullRequest
1 голос
/ 02 октября 2011

это продолжение моего первоначального вопроса здесь ссылка

Через мое довольно длинное преобразование с помощью aaronfrost вы можете определить, что jquery загружался в .php (как видно навкладка сети в CHROME), однако она пытается быть запущена как скрипт немедленно.Мой вопрос заключается в том, где или нет возможно загрузить это в виде обычного текста и просто сделать JS разобрать необходимые данные.Не должен быть jQuery, это был просто маршрут, по которому мы шли в этом примере.Я также попытался с помощью следующего кода и получить точно такую ​​же ошибку «Неожиданный токен».Я думаю, что если бы был какой-то способ справиться с искаженной клиентской стороной JSON, мы бы смогли сделать эту работу ужасным способом.

Если javascript не работает, вы думаете, чтомаршрут Java-апплета (сохранение файлов cookie клиента, не на стороне сервера) достиг бы желаемого конечного результата, который я ищу?

 <script type="application/javascript" src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js"></script>

 <script type="application/javascript">
var url = 'http://www.makecashnow.mobi/jsonp_test.php';

//<!-[CDATA[
    function JSONscriptRequest(fullUrl) {
        // REST request path
        this.fullUrl = fullUrl; 
        // Keep IE from caching requests
        //this.noCacheIE = '&noCacheIE=' + (new Date()).getTime();
        // Get the DOM location to put the script tag
        this.headLoc = document.getElementsByTagName("head").item(0);
        // Generate a unique script tag id
        this.scriptId = 'JscriptId' + JSONscriptRequest.scriptCounter++;
    }

    // Static script ID counter
    JSONscriptRequest.scriptCounter = 1;

    // buildScriptTag method
    //
    JSONscriptRequest.prototype.buildScriptTag = function () {

        // Create the script tag
        this.scriptObj = document.createElement("script");

        // Add script object attributes
        this.scriptObj.setAttribute("type", "text/javascript");
        this.scriptObj.setAttribute("charset", "utf-8");
        //this.scriptObj.setAttribute("src", this.fullUrl + this.noCacheIE);
        this.scriptObj.setAttribute("src", this.fullUrl);
        this.scriptObj.setAttribute("id", this.scriptId);
    }

    // removeScriptTag method
    // 
    JSONscriptRequest.prototype.removeScriptTag = function () {
        // Destroy the script tag
        this.headLoc.removeChild(this.scriptObj);  
    }

    // addScriptTag method
    //
    JSONscriptRequest.prototype.addScriptTag = function () {
        // Create the script tag
        this.headLoc.appendChild(this.scriptObj);
    }

    var obj = new JSONscriptRequest(url);
    obj.buildScriptTag();
    obj.addScriptTag();
//]]>

</script>
...