Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从asp.net应用程序使用PHP rest服务_Php_Jquery_Asp.net_Web Services - Fatal编程技术网

如何从asp.net应用程序使用PHP rest服务

如何从asp.net应用程序使用PHP rest服务,php,jquery,asp.net,web-services,Php,Jquery,Asp.net,Web Services,我们的一些合作伙伴用php开发了一个web服务,并将其web服务消费地址指定为这样的“”。现在,我们有责任在asp.net应用程序中使用这些服务。为了通过jqueryajax使用他们的服务,我做了很多尝试,但我没有运气做到这一点。我试过这样做: 以下是我的jquery代码: $(document).ready(function () { $('#btnSearch').click(function () { var _linkId = $('#txtl

我们的一些合作伙伴用php开发了一个web服务,并将其web服务消费地址指定为这样的“”。现在,我们有责任在asp.net应用程序中使用这些服务。为了通过jqueryajax使用他们的服务,我做了很多尝试,但我没有运气做到这一点。我试过这样做:

以下是我的jquery代码:

$(document).ready(function () {

        $('#btnSearch').click(function () {

            var _linkId = $('#txtlinkId').val();
            if (_linkId === '') {
                alert('please input link id ');
                return;
            }

            // Here LDMAObject is javascript object
            var ldma = new LDMAObject(0, _linkId, 'getLinkByLinkId');

            var myCallback = function (data) {
                alert('callback'+data);
            };


            $.ajax({
                crossDomain: true,
                type: "GET",
                contentType: "application/json; charset=utf-8",
                async: false,
                url: "http://XXX.XXX.XXX.XX:8081/ExposeWebservices/getLinkByLinkId.php",
                data: { value: ldma.toJsonString() },
                dataType: "jsonp",
                jsonp: 'callback',
                jsonpCallback: myCallback,
                success: function (result) { alert('success' +result); },
                error: function (url,status,item) { alert('url='+url+'status='+status+'item='+item); }
            });



        });

    });
以下是我的LDMAObject.js文件代码:

function generateUUID() {
var d = new Date().getTime();
var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
    var r = (d + Math.random() * 16) % 16 | 0;
    d = Math.floor(d / 16);
    return (c == 'x' ? r : (r & 0x7 | 0x8)).toString(16);
});
return uuid;
};

function getFormattedDateTime() {
var zero = '0';
var d = new Date();
var curr_date = d.getDate() < 10 ? zero + d.getDate() : d.getDate();
var curr_month = d.getMonth() + 1 < 10 ? zero + d.getMonth() : d.getMonth(); //Months are    zero based
var curr_year = d.getFullYear();
var curr_hour = d.getHours() < 10 ? zero + d.getHours() : d.getHours();
var curr_minute = d.getMinutes() < 10 ? zero + d.getMinutes() : d.getMinutes(); 
var curr_second = d.getSeconds() < 10 ? zero + d.getSeconds() : d.getSeconds();
var curr_milisecond = d.getMilliseconds() < 10 ? zero + d.getMilliseconds() : d.getMilliseconds();
return curr_year + "-" + curr_month + "-" + curr_date + " " + curr_hour + ":" + curr_minute + ":" + curr_second;
}


/* OOP  LDMAObject*/

function LDMAObject(flag,linkId,requestFuncName) { 


// Object private properties
   this.requestHeader = {
   requestID: generateUUID(),
   requestTime:  getFormattedDateTime(),
   requestLoginID: '', /* Id and password not given for security reason */
   requestPassword: '',
   requestFunction: requestFuncName
};
  this.requestParam = {
   flag: flag,
   linkId: linkId
  };

 this.toJsonString = function () { return JSON.stringify(this); };

  }
函数generateuid(){
var d=新日期().getTime();
变量uuid='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxx'。替换(/[xy]/g,函数(c){
var r=(d+Math.random()*16)%16 | 0;
d=数学楼层(d/16);
返回值(c='x'?r:(r&0x7 | 0x8)).toString(16);
});
返回uuid;
};
函数getFormattedDateTime(){
变量0='0';
var d=新日期();
var curr_date=d.getDate()<10?零+d.getDate():d.getDate();
var curr_month=d.getMonth()+1<10?zero+d.getMonth():d.getMonth();//月份以零为基础
var curr_year=d.getFullYear();
var curr_hour=d.getHours()<10?零+d.getHours():d.getHours();
var curr_minute=d.getMinutes()<10?零+d.getMinutes():d.getMinutes();
var curr_second=d.getSeconds()<10?零+d.getSeconds():d.getSeconds();
var curr_millisond=d.getmillishes()<10?零+d.getmillishes():d.getmillishes();
返回当前年份+“-”+当前月份+“-”+当前日期+“+当前小时+”:“+当前分钟+”:“+当前秒;
}
/*OOP LDMAObject*/
函数LDMAObject(标志、linkId、requestFuncName){
//对象私有属性
this.requestHeader={
requestID:GenerateUid(),
requestTime:getFormattedDateTime(),
requestLoginID:“”,/*出于安全原因未提供Id和密码*/
请求密码:“”,
requestFunction:requestFuncName
};
this.requestParam={
国旗:国旗,
linkId:linkId
};
this.toJsonString=function(){return JSON.stringify(this);};
}
这是我的HTML:

<div class="myContentDiv">
    <div id="form">
        <h1>
            Search With LinkId :
        </h1>
        <label>
            LinkId :
        </label>
        <input type="text" name="txtlinkId" id="txtlinkId" />
        <input id="btnSearch" type="button" value="Search" />
        <div class="spacer">
        </div>
        <div id="lbl">
        </div>
    </div>
</div>

使用LinkId进行搜索:
LinkId:

有人请帮帮我。我在闲逛。我会从心底接受您的帮助。

您是否使用Fiddler2()检查请求和响应的流量?您如何验证?Web服务要求输入用户名/密码,但这些不是在AJAX请求中发送的。@TrueBlueAussie我使用了firefox插件restclient。我通过jquery的data属性传递的数据在restclient中工作。但是我必须说,我们在rest客户端中使用的方法是post,但是jsonp只接受get,那么我如何使用跨域服务呢?请提供帮助。忽略这是一个跨域问题的可能性(不仅仅是Magnetronie提到的凭据),然后您可以通过仅使用服务器上的服务来保护整个系统,并为客户端访问公开您自己的新服务。否则,您将在可读的客户端代码中放置凭据@请给我一些示例代码