這是我的代碼,它返回一個解析器錯誤,並失敗。jquery ajax解析器錯誤?
$.ajaxSetup({
type: 'GET',
url: 'http://www.example.com/ajax',
dataType: 'json'
});
$('#addHotlink').click(function() {
$('body').after('<div id="lightBox" style="height: ' + htmlHeight + 'px;"><div><h3>Choose a name for your hotlink:<img id="lightBoxClose" src="http://www.example.com/images/closedAccordion.png" height="17" width="17" alt="" title="Close this box" /></h3><form id="addHotlinkForm" action="#" method="post" autocomplete="off"><input id="hotlinkName" type="text" maxlength="15" /><input class="submit" type="submit" value="Add Hotlink" /></form></div></div>');
$('#lightBox').hide().fadeIn('fast');
return false;
});
$('#addHotlinkForm').live('submit', function(event) {
event.preventDefault();
var pageURL = window.location.href;
var hotlinkName = $('#hotlinkName').val();
if (hotlinkName.length > 0) {
$.ajax({
data: {
hotlinkName: hotlinkName,
hotlinkURL: pageURL
},
success: function() {
alert('Your hotlink ' + hotlinkName + ' has been inserted to the url: ' + pageURL);
},
error: function (ajaxOptions, thrownError) {
alert(thrownError);
alert('Var hotlinkName: ' + hotlinkName + ' Var hotlinkURL: ' + pageURL);
}
});
}
});
我得到一個解析錯誤,當它試圖執行?雖然在誤差函數值返回爲:
hotlinkName:文本輸入框,
hotlinkURL:當前網頁的地址(http://www.example.com/home)
爲什麼這不起作用?我曾嘗試將類型更改爲POST,但仍然無效?
這是我正在嘗試做的一個小提琴,但當然它失敗了,因爲它沒有鏈接到任何ajax表。
http://jsfiddle.net/novactown/QsDVe/
您是否試圖使用'.ajax()'連接到不同的域?這將被阻止,以避免跨站點腳本攻擊,除非用戶的瀏覽器明確允許它。 – Blazemonger
使用類似Firebug或開發工具的東西,獲取返回的JSON的副本,並通過jsonlint.com發送它以查明錯誤是什麼。更重要的是:你沒有對JSON做任何事情,所以爲什麼要檢索它?如果您只需要成功回調,則不需要檢索類型'json'。 –
-1你已經問過這個問題:http://stackoverflow.com/questions/7708602/jquery-ajax-json-and-sending-over-window-location-href – AlienWebguy