Я бы отправил данные в виде объекта JSON вместо XML следующим образом:
$.ajax({
type: "POST",
url: "communication.cgi",
async: true,
cache: false,
data:
{
'Message':
{
'MainPageID': 0,
'pageID': 1,
'WebpageName': 'page1',
'Action': 'upload',
'filename': $("#file_selector_upload").val()
}
},
datatype: "JSON",
error: function(jqXHR, textStatus, errorThrown)
{
//TODO
},
success: function(data)
{
//TODO
}
});
Но если вы хотите отправить его как XML, почему бы просто не манипулировать XML-строкой?
$.ajax({
type: "POST",
url: "communication.cgi",
async: true,
cache: false,
data: '<Message filename="'+$("#file_selector_upload").val()+'" MainPageID="0" pageID="1" WebpageName="page1" Action="upload" />',
datatype: "text",
error: function(jqXHR, textStatus, errorThrown)
{
//TODO
},
success: function(data)
{
//TODO
}
});