|
■No97929 (WebSurfer さん) に返信
> それはどのようにしたのですか? 送信するデータをどのように取得したのか、クライアント
> スクリプトのコードがどうなっているか書いてください。
*** Javascript1 ***
$(function () {
var clickSave = function (e) {
var formData = new FormData($form[0]);
var target = {
Cmn_ScreenName: 'MarcheEntry',
Cmn_FunctionName: $('#Hf_TargetId').val() ? 'Update' : 'Register'
};
var param = $.extend(target, getParam());
$.each(param, function (index, val) {
formData.append(index, val);
});
//Javascript2共通関数取得
sendFileToServer(formData, successRegFunc, function (res) { console.log("failure"); });
};
$("#保存ボタン").on('click', function () {
$form = $(this).parents('form:first');
showConfirm(GetMessage("CCom001", new Array("画面")), clickSave);
});
});
function getParam() {
var param = {
Hf_TargetId: $("#Hf_TargetId").val(),
Txt_Marche: $("#Txt_Marche").val()
};
return param;
}
*** Javascript2(共通関数) ***
function sendFileToServer(formData, successFunc, failureFunc) {
var uploadURL = "../Common/Cmn_Handler.ashx"; //Upload URL
var jqXHR = $.ajax({
url: uploadURL,
type: "POST",
contentType: false,
processData: false,
cache: false,
async: false,
data: formData,
dataType: 'html',
success: function (data) {
var response = JSON.parse(data);
var d = $("#dialog").dialog({ autoOpen: false });
if (response.Messages) {
d.html(response.Messages.join("<br>"));
d.dialog({
modal: true,
title: response.Title,
width: 450,
buttons: {
"確認": function () {
$(this).dialog("close");
if (response.Result) {
if (successFunc) {
successFunc(response);
}
} else {
if (failureFunc) {
failureFunc(response);
}
}
}
}
});
d.dialog("open");
}
else {
if (response.Result) {
if (successFunc) {
successFunc(response);
}
} else {
if (failureFunc) {
failureFunc(response);
}
}
}
},
error: function (data) {
var d = $("#dialog").dialog({ autoOpen: false });
d.html("サーバ接続時にエラーが発生しました <br>");
d.dialog({
modal: true,
title: "接続エラー",
width: 450,
buttons: {
"確認": function () { $(this).dialog("close"); }
}
});
d.dialog("open");
}
});
> なんでそれが「配列」だと思うのですか?
すみません、単純にカンマ区切りでしたので配列だと思っていました…。
> それはともかくとして、ashx 側でそれらをどのように取得してどのように確認したのか、
> 質問者さんが書いたコードを提示して説明してください。
Private Function dataEntry(ByVal Context As HttpContext, ByVal FunctionName As String) As AjaxResponse
'返却用
Dim Response As New AjaxResponse
Response.Result = False
Dim Cnt_dataAs New Cnt_data
Dim targetId As String = Nothing
Dim isSuccess As Boolean = False
Dim retDic As New Dictionary(Of String, String)
Try
'処理名で処理を振り分け
Select Case FunctionName
Case Cmn_Const.FUNC_REGISTER, Cmn_Const.FUNC_UPDATE
Dim data As String = Context.Request.Params("Hf_TargetId")
Dim Txtdata As String = Context.Request.Params("Txt_Marche")
End Select
Catch ex As Exception
log.Error(ex.Message)
Response.Result = False
Response.Messages = New List(Of String)(New String() {ex.Message})
End Try
Return Response
End Function
長文になってしまいすみません。
宜しくお願い致します。
|