나는이 작은 AJAX 호출이 작동하지 않습니다.jQuery를 AJAX의 성공은 파이어 폭스
"mix-bricks-submit
"제출 단추를 다시 누르면 다시 호출이 실행되지 않습니다.
나는이 작은 AJAX 호출이 작동하지 않습니다.jQuery를 AJAX의 성공은 파이어 폭스
"mix-bricks-submit
"제출 단추를 다시 누르면 다시 호출이 실행되지 않습니다.
설정 url 매개 변수는 w하지만 그렇게 하나
$('#brick-mixer-form').submit(function(e) {
e.preventDefault();
$("#mix-bricks-submit").addClass("load");
$("#mix-bricks-submit").attr("value", "Blander sten..");
var form_data = $("#brick-mixer-form").serialize()
$.ajax({
type: "GET",
url: "build.php",
data: form_data,
dataType: 'text',
async: false, //I would avoid forcing synchronous
success: function(data) {
//$(".active").attr('src', 'build.php?'+form_data+'').load(function() {
$("#mix-bricks-submit").removeClass("load");
$("#mix-bricks-submit").attr("value", "Bland igen");
$("#bricks-selected").attr("value", form_data);
$("#pdf_saver").css("display", "block");
//});
}
});
});
또는
$('#brick-mixer-form').submit(function(e) {
e.preventDefault();
$("#mix-bricks-submit").addClass("load");
$("#mix-bricks-submit").attr("value", "Blander sten..");
var form_data = $("#brick-mixer-form").serialize()
$.ajax({
type: "GET",
url: "build.php",
data: form_data,
dataType: 'text',
async: false,//I would avoid forcing synchronous
success: function(data) {
$(".active").load('build.php',form_data,function() {
$("#mix-bricks-submit").removeClass("load");
$("#mix-bricks-submit").attr("value", "Bland igen");
$("#bricks-selected").attr("value", form_data);
$("#pdf_saver").css("display", "block");
});
}
});
});
선택하지 않습니다 hy는 ajax 문을 두 번 실행합니다. 나는 확신 할 수 없다.
이 시도 :
는 .load()에 따르면
$.ajax({
type: "GET",
url: "build.php",
data: form_data,
dataType: 'text',
async: false,
cache: false,
success: function(data) {
$(".active").attr('src', 'build.php?'+form_data+'').load(function() {
$("#mix-bricks-submit").removeClass("load");
$("#mix-bricks-submit").attr("value", "Bland igen");
$("#bricks-selected").attr("value", form_data);
$("#pdf_saver").css("display", "block");
});
흠 ..이 여전히 작동하지 않습니다. .alert ("Test")를 .load 함수에 넣으면 FF로 트리거되지만 build.php는 다시로드되지 않습니다. –
이것은 원래의 asker가 편집 한 것으로 추가되었지만 답변이 아니라 편집이어야하므로 커뮤니티 위키 답변으로 변환되었습니다.
해결책 :
$('#brick-mixer-form').submit(function(e) {
e.preventDefault();
var nowis = new Date();
$("#mix-bricks-submit").addClass("load");
$("#mix-bricks-submit").attr("value", "Blander sten..");
var form_data = $("#brick-mixer-form").serialize()
$.ajax({
type: "GET",
url: "build.php",
data: form_data,
dataType: 'text',
success: function(data) {
$(".active").attr('src', 'build.php?'+form_data+'&tstamp='+ nowis.getMilliseconds() +'').load(function() {
$("#mix-bricks-submit").removeClass("load");
$("#mix-bricks-submit").attr("value", "Bland igen");
$("#bricks-selected").attr("value", form_data);
$("#pdf_saver").css("display", "block");
});
}
});
});
나는 새로운 이미지 이름을 FF와 IE에서 캐시 문제를 무시하는 것 같다 양식이 제출 될 때마다 강제로 밀리 세컨드의 값이 쿼리에 tstamp
매개 변수를 삽입하여 .
'async : false'를 제거하십시오. Ajax가 비동기 동기식으로 시작하지 않습니다. – AbstractChaos
이 JavaScript와 함께 사용되는 HTML을 추가 할 수 있습니까? – andyb