我想知道是否有可能從JSON格式從經典ASP返回ascii控制代碼到jQuery ajax調用。作爲JSON返回控制代碼爲jQuery ajax json調用
這是我的jQuery的電話:
$.ajax({
url: "/jsontest.asp",
type: "POST",
cache: false,
dataType: "json",
complete: function(data)
{
var o = $.parseJSON(data.responseText.toString());
},
error: function(data1, data2)
{
alert("There has been an error - please try again");
}
});
這就是我所謂的頁面:上面
{"val1":123,"val2":"abcdef"}
工作正常,但如果我改變我叫頁,包括ASCII字符31(1F)像這樣:
{"val1":123,"val2","abc\x1Fdef"}
然後我在我的錯誤函數中得到警報。這可以做到,如果是這樣,請多好。
注:我使用jQuery 1.7.1和兩個IIS 6和IIS 7
我曾嘗試:\ X1F,1F%和\ u001f
綜觀數據1和數據2的值。
DATA2具有字符串 「parsererror」
DATA1是具有以下屬性的對象:
readyState: 4
setRequestHeader: function (a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this}
getAllResponseHeaders: function(){return s===2?n:null}
getResponseHeader: function (a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c}
overrideMimeType: function (a){s||(d.mimeType=a);return this}
abort: function (a){a=a||"abort",p&&p.abort(a),w(0,a);return this}
done: function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this}
fail: function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this}
progress: function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this}
state: function(){return e}
isResolved: function(){return!!e}
isRejected: function(){return!!e}
then: function (a,b,c){i.done(a).fail(b).progress(c);return this}
always: function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this}
pipe: function (a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()}
promise: function (a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}
success: function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this}
error: function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this}
complete: function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this}
statusCode: function (a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this}
responseText: {"val1":123,"val2":"abcdef"}
status: 200
statusText: OK
你用雙斜槓試過了嗎? '{「val1」:123,「val2」,「abc \\ x1Fdef」}' – maqjav
我現在有了,並且返回一個實際的斜線,後面跟着字符x1f – Graham
閱讀RFC:http://www.ietf.org /rfc/rfc4627.tx如果我不想誤解,應該是:'{「val1」:123,「val2」,「abc%x1F/def」}' – maqjav