У меня есть этот массив, который я хочу проанализировать в javascript.PHP json_encode, массив не отображается правильно в javascript
$offerText[] =
(
[0] => Name
[1] => Adres
[2] => ZIP
[3] => CITY
[4] => E-mail
)
Я использую этот код, чтобы сделать это:
$html .= '<td class="offerteCell"><a href="#" onclick="return addToOffer('.json_encode($offerText).');" class="offerte">Offerte</a></td>';
В моем яваскрипте функции я хочу, чтобы это массив, который будет размещен в вызове Ajax.
function addToOffer(offer_text) {
$.ajax({
url: "offer.php?action=add&offer_text="+offer_text,
cache: false,
method: "GET",
async: false,
complete: function(request) {
if(!request || request.readyState != 4 || request.status != 200) return false;
eval("var obj = "+request.responseText);
$("span.error").hide();
$("p").removeClass('error');
if (obj.errors) {
for (var i in obj.msg) {
$("#error_form_"+i).html(obj.msg[i]).css('display','block');
$("#p_form_"+i).addClass('error');
alert("error");
}
} else {
var offer = $('#OfferContainer');
offer.show().html(obj.html);
var txt = Config.langOfferComplete;
var buttons = {};
buttons[Config.langOk] = false;
buttons[Config.langGoToOffer] = true;
$.prompt(txt,{
submit: function(v,m,f){
if (v) {
window.location = Config.base + '/' + Config.lang + "/offer.htm";
}
},
buttons: buttons
});
}
return false;
}
});
return false;
}
Но это не работает. Кто-нибудь знает, что я делаю неправильно? Я смотрю на результаты моего HTML я получаю это:
<a class="offerte" naam","adres","postcode","woonplaats","e-mailadres"]);"="" onclick="return addToOffer([" href="#">Offerte</a>
Вы назначая свой массив '$ offerText []', так что вы хотите сделать 'json_encode ($ offerText [0])' – MetalFrog
Почему вы используете ' асинхронный: false'? Это почти всегда плохая идея. – ThiefMaster
@ThiefMaster: всегда плохая идея? почему тогда это будет даже вариант ... Иногда вы хотите, чтобы ваш скрипт не манипулировал DOM до того, как был завершен вызов ajax, когда, например, возвращается html, который обрабатывается после отправки запроса. было бы плохой идеей работать async в этом случае –