के साथ JQuery का उपयोग करने का प्रयास करते समय कोई भाग्य नहीं है, मैं केकपीएचपी के लिए नया हूं लेकिन इसके साथ काम करने के लिए jQuery प्राप्त करने में असमर्थता के कारण इसका उपयोग छोड़ने के करीब हूं।केकपीएचपी 1.3
मैं केकेपीएचपी 1.3 का उपयोग कर रहा हूं और इसलिए सोचा कि एचटीएमएल और जेएस हेल्पर्स ने जावास्क्रिप्ट और अजाक्स को अनावश्यक बना दिया है, लेकिन मुझे वास्तव में जेएस का उपयोग करने के तरीके पर कोई मदद/एपीआई दस्तावेज नहीं मिल रहा है।
मैं बस सबसे पहले करने की कोशिश कर रहा हूं, jQuery के साथ केकपीएचपी को कुछ डेटा भेज रहा है और फिर कुछ डेटा वापस jQuery और अलर्ट() में प्राप्त करें। किसी कारण से यह काम नहीं कर रहा है।
test.js
$('.social').click(function()
{
$.ajax({
type: 'POST',
url: '/activities/add_activity',
data: 'type=social',
dataType: 'json',
success: function(data)
{
alert(data);
},
error: function()
{
alert('wut');
}
});
});
function add_activity()
{
if($this->RequestHandler->isAjax())
{
$this->autoRender = false;
$this->autoLayout = false;
$this->header('Content-Type: application/json');
echo json_encode(array('result'=>'hello');
return;
}
}
हर बार activities_controller.php मैं वर्ग के साथ बटन पर क्लिक करें 'सामाजिक' मैं चेतावनी "wut" जिसका अर्थ है मिल =: यहाँ मेरी कोड है त्रुटि।
मेरे पास RequestHandler घटक और जावास्क्रिप्ट, जेएस, और अजाक्स सहायक शामिल हैं जो मेरी गतिविधियों_controller.php में शामिल हैं।
इसके अलावा, test.js और jquery.js html-> script() का उपयोग करके लिंक किया गया है; default.ctp में और अन्य सभी jQuery सामग्री काम कर रही है इसलिए यह नहीं है।
मैं भी activities_controller.php के लिए मेरे beforeFilter() में इस मिल गया है:
if($this->RequestHandler->isAjax())
{
Configure::write('debug',0);
}
parent::beforeFilter();
कोई भी विचार क्या गलत है? क्या यह एक jQuery चीज है या एक केकेपीएचपी चीज है? अथवा दोनों?
अग्रिम धन्यवाद,
Infinitifizz
पी.एस.
मैंने कभी भी jQuery में AJAX नहीं किया है, इसलिए हो सकता है कि यह गड़बड़ हो रहा है, तो मैंने कभी ऐसा करने के लिए कुछ किया है, मैंने कभी भी सरल जावास्क्रिप्ट AJAX किया है।
यह उन समयों में से एक है जब डीबग चालू करना वास्तव में उपयोगी होगा - विशेष रूप से PHP त्रुटियों के मामले में "1" के स्तर पर। AJAX अनुरोधों के लिए उस स्तर को सक्षम करने का प्रयास करें और देखें कि आपके केक लॉग में कुछ भी बताया गया है ('/ app/tmp/logs/*')। –
इसे अपने केक विधि में शामिल करने का प्रयास करें: $ this-> लॉग ('एक डिबगिंग संदेश।', LOG_DEBUG); यह देखने के लिए कि क्या विधि कहा जा रहा है। ऐप/tmp/logs/debug.log में आउटपुट के लिए जांचें नोट करें कि आप चर स्ट्रिंग कर सकते हैं - यहां तक कि संदेश स्ट्रिंग के स्थान पर सरणी भी। – Leo
इसके अलावा, नेटवर्क गतिविधि (नेट टैब पर) की निगरानी के लिए फ़ायरफ़ॉक्स में फ़ायरबग का उपयोग करें। – Leo