Jquery, ajax ve imi bilmecesi

0 Cevap php

I know that I should encodeURI any url passed to anything else, because I read this: http://www.digitalbart.com/jquery-and-urlencode/

I want to share the current time of the current track I am listening to. So I installed the excellent yoururls shortener. And I have a bit of code that puts all the bits together, and makes the following: track=2&time=967

As I don't want everyone seeing my private key, I have a little php file which takes the input, and appends the following, so it looks like this: http://myshorten.example/yourls-api.php?signature=x&action=shorturl&format=simple&url=http://urltoshorten?track=2&time=967

Yani ana sayfada, ben $("div.shorturl").load(loadall); içinde jquery çağrı

Daha sonra CURL biraz yapar ve sonra kısaltıcı bir güzel kısa URL'sini döndürür.

Bu gibi:

$myurl='http://myshorten.example/yourls-api.php?signature=x&action=shorturl&format=simple&url=' . $theurl;
$ch = curl_init($myurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
if ($data === false) {
  echo 'cURL failed';
  exit;
}
echo $data;

Tüm mükemmel.

Ampersan kısaltılmış sonra her şey ... - kısalır URL http://urltoshorten?track=2 hep formda hariç.

I have tried wrapping the whole URL in php's URLencode, I've wrapped the track=2&time=967 in both encodeURI and encodeURIComponent, I've evem tried wrapping the whole thing in one or both. And still, the & breaks it, even though I can see the submitted url looks like track=1%26time%3D5 at the end.

Ben unencoded url ile ya yoururls arayüzü içine bu hatta "düz" sürümü yapıştırmak varsa, ya da tekrar mükemmel çalışıyor, tarayıcınızın konum çubuğuna yapıştırdığınız normal bir URL olarak API yoluyla yoururls gönderebilirsiniz.

Bu yüzden hatalı yoururls değil, url gibi görünüyor düzgün kodlanmış ediliyor, aklıma tek şey muhtemelen CURL nedir?

Now at this point you might be thinking "why not replace the & with a * and then convert it back again?". OK, so when the url is expanded, I get the values from

var track = $.getUrlVar('track');
var time = $.getUrlVar('time');

bu yüzden * parça ve ardından * sonra bir şey kalanını varsayalım nerede bulma biraz zaman yapmak daha sonra, zaman VAR kaybedebilir, ama biraz çirkin, ve daha fazla noktaya, öyle gerçekten değil şeyler yapmak için doğru yolu.

Herkes bana yardımcı olabilir, eğer mutluluk duyacağız.

0 Cevap