양식 데이터를 수집하고이를 jquery 객체에 넣는 jquery submit 이벤트가 있습니다. jquery 객체를 가져 와서 ColdFusion 웹 서비스에 전달하여 xml 파일을 업데이트 할 수 있습니다. 나는 단지 웹 서비스에 그것을 보내고 거기서부터의 데이터를 가지고 싶은 웹 서비스로부터의 응답을 원하지 않는다.JSON을 사용하여 AJAX Post를 통해 CFC 함수에 데이터 전달
클라이언트 측/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 : 크롬에서
<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>
내가
그냥 물어 불을 지르고에서 내가 "예상치 못한 문자를"GET "무단"GET 나와 필요한 정보를 추가하겠습니다.
이 CFC가 호출되고 또는 오류가 아약스 호출하기 전에 무슨 일이 일어나고 연합사? –
제공된 IMO url은 "../../WebServices/RMSI/rmsi.cfc?method=UpdateRegularLink"이어야하며 메소드는 데이터에서 제거되어야합니다. URL이 CFC 확장자로 끝나면 CFC 탐색기가 실행되어이 문제를 일으킬 수있는 함수 메타 데이터의 HTML을 반환합니다. –
cfcexplorer이 권한을 요청할 수 있습니다. 개발자 도구> 네트워크로 이동하여 cfcexplorer가 호출되었는지 확인할 수 있습니다. –