民间,
这是我的技术问题。如果你有一些解决方案,请告诉我。
问题是:POST with JSONP无法做到。由于bowser URL restriction使用GET和JSONP,我们实际上想要使用JSONP进行POST。互联网上提到了一些complex solutions,但我不确定它们是否被推荐。例如,我希望将以下Web方法用作POST方法(而不是GET方法),否则它会超过IE中的2000个字符的URL限制。请注意,通过允许它只包含少量参数,可以减小此方法。
[OperationContract]
[Description("Accepts input profile values and returns back insert status as true or false.")]
[WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped, Method = "POST",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "InsertProfileDetails")]
bool InsertProfileDetails(string AuthToken,
int Caste_Id, Boolean IsCasteNoBar, char Gender, int Age, int Height, string Complexion, string Marital_Status, int Religion_Id, int MotherTongue_Id, string Profile_Description,
string Education_Level,
DateTime Dob,
string Profile_FirstName, string Profile_LastName, string Address_Line1, string City, string State, int Country_Id, string ContactEmail, string CellPhonePrimary, string HomePhoneSecondary, string WorkPhoneOptional,
string EmploymentSector, string Profession,
int Min_Age, int Max_Age, int Min_Height, int Max_Height, string Religion_Ids, string Caste_Ids, string MotherTongue_Ids, string Education_Levels
);
考虑到限制,唯一可以想到的选择是提交小表单(在“创建配置文件”用户场景的情况下使用多个表单),这反过来调用较小的GET Web方法。并且在服务器端仅在接收到所有小型表单数据后才将表单数据提交到数据库。我们应该在每个表单请求期间使用从客户端发送的一些Guid来关联服务器端的所有小型用户。
让我知道你的想法。感谢您阅读我的帖子的时间。
谢谢, 小母鸡