我有這個數組,我想解析成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>';
在我的javascript函數我想張貼在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 2012-03-30 11:54:50
爲什麼你使用'異步:FALSE'?這幾乎總是一個壞主意。 – ThiefMaster 2012-03-30 11:56:22
@ThiefMaster:總是一個壞主意?那麼爲什麼它甚至會成爲一個選項呢......有時候你想阻止你的腳本在ajax調用完成之前操作DOM,例如,當返回html時,在請求被髮送後被操縱。在這種情況下工作異步將是一個壞主意 – 2012-03-30 12:15:11