2016-04-11 47 views
0

JSON kodlanmış:aracılığıyla tefrika PHP dizi içeren bir <a> göndermeye çalışılıyor Bu AJAX aracılığıyla adlı bir php dosyasında üretilen benzeyen bir bağlantı var AJAX

<a href="/path/to/my/file.php?data=a:4:{s:4:"var1";i:1;s:4:"var2";i:2;s:4:"var3";i:3;s:4:"var4";i:4;}"></a> 

bu almak için:

<?php 
$other_info = '<a href="' . $_SERVER['SCRIPT_NAME'] . '?data=' . serialize($my_array) . '">Download</a>'); 

$retval = array('link' => $other_info); 

echo json_encode($retval); 
?> 

Bunu ön uçta ele almada sorun yaşıyorum. Ben bunu böyle çevreleyen çalıştı:

$other_info = htmlspecialchars($other_info); 

ama ben ön işleyebilir bir şekilde geçmek zorunda alınamıyor. Ek bir çift tırnak işareti seti içine alıyor gibi görünüyor. Nasıl kaçabilirim?

DÜZENLEME: Bu satırı eklemek unuttum, özür dilerim: $ retval = array ('bağlantı' => $ other_info); Kodu eklenmiştir.

+0

Sorgu dizeleri, oldukları gibi, basit bir şekilde kullanmadığınız sürece, en az düzeyde işlem yapmanız gerekir. * * JSON'u göndermeye çalıştığınız gibi görünüyor, ancak JSON ise doğrulanmayacaktır. http://jsonlint.com/ –

cevap

0

Bunu yapmanın bir yolunu bulmayı başardım.

$other_info = htmlspecialchars(serialize($_REQUEST)); 

ve javascript tarafında: PHP tarafında

var oi = resp.link 
oi = '<a href="/path/to/my/file.php?data=' + oi + '">Download</a>' 

düzelttim o.