Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   jQuery ajax - помогите найти ошибку (https://javascript.ru/forum/misc/57604-jquery-ajax-pomogite-najjti-oshibku.html)

malefikus13 11.08.2015 17:11

jQuery ajax - помогите найти ошибку
 
Ребят, помогите пожалуйста найти ошибку.
Имеется jQuery ajax. Работает не корректно. Не могу понять, что не так написал. Заранее признателен.

Код:
function refresh_links(id_link,direction){
	var http_request = $.ajax({
		type: "POST",
		url: "direction="+direction+"&id="+document.getElementById("super_id").value+"&id_link="+id_link,
		success: function(){
			replace_html(http_request,id_link,direction);
			http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			http_request.send(url);
			alert( "second complete" );
		}

	});

	http_request.fail(function() {
		alert( "Ошибка" );
	});
}


Доп скрипт, что вызывается предыдущим:
function replace_html(http_request, id_link, direction)
{
    var td_element = document.getElementById("td_" + id_link + "_" + direction);
    td_element.innerHTML = http_request.responseText;
}

KosBeg 11.08.2015 17:30

даа)
вы жестоко скрестили XMLHttpRequets и jQuery.Ajax
http://api.jquery.com/jquery.ajax/
function refresh_links(id_link,direction){
	var http_request = $.ajax({
		type: "POST",
		data: { // тут должен быть объект
			direction: direction,
			id: document.getElementById("super_id").value,
			id_link: id_link
		},
		url: 'page.php',
		success: function(data){ // data - это ответ сервера
			document.getElementById("td_" + id_link + "_" + direction).innerHTML = data;
			alert( "second complete" );
		}
	});

	http_request.fail(function() {
		alert( "Ошибка" );
	});
}

malefikus13 12.08.2015 09:01

во, спасибо!)) Да, я старался :)

malefikus13 12.08.2015 09:42

Цитата:

Сообщение от KosBeg (Сообщение 383668)
даа)
вы жестоко скрестили XMLHttpRequets и jQuery.Ajax
http://api.jquery.com/jquery.ajax/
function refresh_links(id_link,direction){
	var http_request = $.ajax({
		type: "POST",
		data: { // тут должен быть объект
			direction: direction,
			id: document.getElementById("super_id").value
			id_link: id_link
		},
		url: 'page.php',
		success: function(data){ // data - это ответ сервера
			document.getElementById("td_" + id_link + "_" + direction).innerHTML = data;
			alert( "second complete" );
		}
	});

	http_request.fail(function() {
		alert( "Ошибка" );
	});
}

А подскажите пожалуйста еще вот такой момент, в IE данный код ведь восприниматься не будет, или должен работать? А то у меня он его игнорирует :) Заранее спасибо!

malefikus13 12.08.2015 10:45

так, сори, пререпутал - в мазиле работает и в ie тоже, не работает в хроме.

KosBeg 12.08.2015 10:52

Цитата:

Сообщение от malefikus13
не работает в хроме.

странно...
jQuery 1.x должен работать даже в IE6,
jQuery 2.x должен работать в IE9,
И никаких проблем не должно быть...
Покажите ваш код)

malefikus13 12.08.2015 11:16

Да вот и я думаю, что это странно. )) Только разобраться не получается)

function refresh_links(id_link, direction) {
	var http_request = $.ajax({
		type: "POST",
		url: "link_list.php",
		headers: "Content-Type",
		data: {
			direction: direction,
			id: document.getElementById("super_id").value,
			id_link: id_link
		}, 
		success: function(data){ 
			document.getElementById("td_" + id_link + "_" + direction).innerHTML = data;
		}
	});

	http_request.fail(function () {
		alert("Ошибка");
	});
}

malefikus13 12.08.2015 11:22

Собственно вот два отрывка, что связанны с этим всем процессом.

<a class="new_links" ondblclick="dblClick(0)" onclick="checkClick(404244,30,0,1,30,1);" href="javascript:void(0)">Добавить <i>'название поля'</i></a>

вторая кнопка
<input type="submit" onclick="return clickCreateButton();" value="Создать">


var timerID;
function checkClick(id_parent, id_link, id_target, direction, id_link_refresh, direction_refresh, loc) {

    timerID = setTimeout("oneClick(" + id_parent + "," + id_link + "," + id_target + "," + direction + "," + id_link_refresh + "," + direction_refresh + ", " + loc + ")", 800);


}


function clickCreateButton()
{
    var form = $('#object_html_form');
    form.append($('<INPUT type=hidden name=create_button value=\"Создать\">'));
    document.forms['object_form'].submit();
    return false;
    location.reload();

}

KosBeg 12.08.2015 11:52

попробуй убрать
headers: "Content-Type",

оно тут нафиг упало)

malefikus13 12.08.2015 13:36

Эх, неа, не тут косяк)) Если честно, то я над этой задачкой неделю бьюсь уже)


Часовой пояс GMT +3, время: 02:08.