フォームデータを収集してjqueryオブジェクトに配置するjquery submitイベントがあります。そのjqueryオブジェクトを取得し、それをxmlファイルの更新に使用できるcoldfusion Webサービスに渡したいと思います。私はWebサービスからの応答を望んでいません。ただ、Webサービスに送信し、そこからのデータを使用したいと思います。JSONを使用してCFC関数にAJAXポスト経由でデータを渡す
クライアント側/ jQueryの:
$("#update").on('submit',function() {
$linkName = $('#update').find('#linkName').val();
$linkURL = $('#update').find('#linkURL').val();
$linkInfo = $('#update').find('#linkDesc').val();
$numOfLinks = $('.linkSection').length;
if ($numOfLinks > 0){
// Here the sub link names and urls put into an array
$subLinkName = [];
$subLinkURL = [];
$('.linkSection').each(function(index, element) {
$subLinkName.push($(this).find('#subLinkName').attr('value'));
$subLinkURL.push($(this).find('#subLinkURL').attr('value'));
$data = {linkName: $linkName, linkURL: $linkURL, linkID : $linkID, linkDescription : $linkInfo, subLinkNames : $subLinkName, subLinkURLs : $subLinkURL};
});
// Optionally, you could put the name and url in the array object here but not sure which is better to do
//$subLink =[];
//$('.linkSection').each(function(index, element) {
//$subLink.push($(this).find('#subLinkName').attr('value'));
//$subLink.push($(this).find('#subLinkURL').attr('value'));
//});
}else{
alert('hey');
$data = {linkName: $linkName, linkURL: $linkURL, linkID : $linkID, linkDescription : $linkInfo};
}
//alert($data);
$.ajax({
type: "POST",
data: {
method: "UpdateRegularLink",
returnFormat:"json",
formData: JSON.stringify($data)
},
url: "../../WebServices/RMSI/rmsi.cfc",
contentType: "application/json; charset=utf-8",
dataType: "json",
beforeSend: function() {
alert('about to post');
},
error: function(data,status,error){
alert(data+': '+status+': '+error);
},
done: function(data){
alert('success');
}
});
});
サーバーサイド/ CFC:私は "無許可" を取得Chromeの場合
<cfcomponent>
<cfset xmlpath = "e:\webapps\NRCNewsApps\RMSI\xml" />
<cffunction name="UpdateRegularLink" access="remote" output="false" >
<cfargument name="formData" required="true" type="string" />
<cfset var cfStruct = DeserializeJSON(arguments.formData)>
<!--- now I want to use the data --->
</cffunction>
</cfcomponent>
放火犯で 私は "予期しない文字" を取得
だけ頼みます私とあなたに必要な情報を追加します。
は、あなたのCFCが呼び出されているか、エラーがAJAX呼び出しの前に起こっているCFC? –
IMOのURLは "../../WebServices/RMSI/rmsi.cfc?method=UpdateRegularLink"であり、メソッドはデータから削除する必要があります。 URLがCFC拡張子で終わる場合、CFCエクスプローラがこの問題を引き起こしている可能性のある関数メタデータのHTMLを返して返します。 –
cfcexplorerが承認を求めている可能性があります。これを確認するには、開発者ツール>ネットワークでcfcexplorerが呼び出されたかどうかを確認します。 –