id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blocking	blockedby
7945	"jQuery.param thinks that { jquery: ""1.4.2"" } is a jQuery object"	anton@…		"I stumbled upon a bug where .param thought that { jquery: ""1.4.2"" } is a jQuery object and tried to iterate over it as it was an array. The result was undefined=undefined instead of jquery=1.4.2.

I made a commit fixing the problem and opened a pull request here: https://github.com/jquery/jquery/pull/174 but it was closed.

I was asked to clarify about the use case so here is the real world example. I am working on a feature that will collect some statistical data from pages where our widget is installed. I started with popular frameworks, and my code sends key/value data where key is a framework name and value is its version.

Now every time I try to send something like { ""jquery"": ""1.4.2"" } via .ajax, the server gets undefined=undefined in its POST data. And that applies to any dictionary that has ""jquery"" string as a key.

--

The second comment was that we can't use `instanceof` since there is a possibility that an object was created by some other jQuery instance. That makes sense. My initial approach was to check if a.jquery is a function. That covers multiple jQuery instances problem.

As Paul said in the comment to the pull request above, I got some helpful advise from Ben Alman so we might want his feedback on this issue as well.

I can make another pull request once we agree on the approach here.

Anton"	bug	closed	high	1.5.1	ajax	1.5	fixed				
