var myData = {"txt":str, "formdata":fd};
ここだけみると
strとfdが定義されてなくない?

寧ろ↓みたいな型あるなら
var fd = new FormData();
fd.append("file", uploadfile);
fd.append("txt", str);
とかでいいんじゃない?