jQuery A $. yazılan vasıtasıyla çapraz etki veri gönderme

2 Cevap php

Ben $ üzerinden, bir CakePHP'de (mvc) web sitesi üzerinden veri göndermeye çalışıyorum. Sonrası (). Aşağıdaki kod

  $('#testReq').click(function(){

	console.log('Button Works');			
		$.post('http://play.anthonylgordon.com/usersessions/store/', {data:'test7'},function(data)
		{
			//data contains the json object retrieved.
			console.log(data.status);
		},"json");	})

Aşağıda veri ve mağazaları onu alır CakePHP'de veridir. Eğer büyük pasta, biliyorum ama eğer değil gayet eğer. I doğru veriyi gönderiyorum eğer gerçekten anlamaya çalışıyorum

<?php
class UsersessionsController extends AppController {

var $name = 'Usersessions';
var $helpers = array('Html', 'Form','Ajax');
var $components = array('RequestHandler');


function store()
{
   Configure::write('debug', 0);
   $this->autoRender = false;
   echo 'hello';
	   if ($this->params['url']['data'])
	   {
		   $this->data['Usersession']['data'] = $this->params['url']['data'];
			$this->Usersession->Save($this->data);
			echo 'Success';
   		}	

}
}
?>

as you can see I put 'hello' before it does any evaluating. I should be able to see that in my console but I dont. I tried this method with the get and I did see the response 'hello'. which is leaving me to the conclusion that you can not send data CROSS domain via $.post. only method that seems to work is getJSON(). unless someone can prove me wrong enter code here

2 Cevap

Sen sıradan bir etki alanı ajax isteklerini gerçekleştiremez. Sen JSONP kullanmanız gerekir ve bu GET istekleri ile çalışır (jquery DOM bir script etiketi isteği ve bir script gerçekleştirmek amacıyla enjekte çünkü bu etiketi sadece) javascript getirmek için GET kullanabilirsiniz.

Eğer isteklerini çapraz etki yapabilmek için isterseniz, [(0)] Curl veya Apache {gibi sunucu tarafı yarar / kütüphane ile sizin adınıza HTTP isteklerini yapacak alanınızda bir HTTP vekil uygulamak gerekir } falan.

Edit: JSONP bir çözüm olduğunu, ancak sadece GET isteklerini yapmak için gerekli olmadıkça (ki çalıştığını hepsi çünkü) ben bunu tavsiye etmem. JSONP Ayrıca özellikle bir POST isteği yapmak için gereken durumda, mutlaka REST dostu değildir. POST senin kaynak semantik karşılar ve nasıl sadece kullanmak için GET geçiş, işlemek niyetinde olmadığını JSONP bana çirkin hissediyor.