I'm having a very strange problem.
I have a form with an input field for the user to copy-paste Vimeo's embed code. The form is then submitted via ajax.
The problem is that when I write something else than the embed code in the input form, it works fine. When I paste the input code, it returns a "Page Not Found" error. I've narrow it down to two characters. When I type "><" I get the error. If I type "<>", the script passes.
The HTML form is ok so I'll just post my javascript code. (I use jQuery)
//submit the video form
function submitVideoForm() {
var $inputs = $j('#form-add-video :input');
var values = {};
//loop through all the inputs and add them in an object
$j($inputs).each(function() {
values[this.name] = $j(this).val();
});
$j.post("http://www.mysite.com/admin/plugin/media/add_video/", values,
function(data){
if (data != 'false') {
console.log('Worked');
}
else {
console.log('Failed');
};
}, 'json');
}
When I look at what's posted with firebug, I can see that the data is escaped
media%5Barticleid%5D=355&media%5Bembed_code%5D=%3Ciframe+src%3D%22http%3A%2F%2Fplayer.vimeo.com%2Fvideo%2F21350265%3Ftitle%3D0%26amp%3Bbyline%3D0%26amp%3Bportrait%3D0%22+width%3D%22398%22+height%3D%22224%22+frameborder%3D%220%22%3E%3C%2Fiframe%3E
I've tried using escape(), same problem.
Any help would be appreciated.