gpt4 book ai didi

jQuery AJAX 问题

转载 作者:行者123 更新时间:2023-12-01 08:22:05 25 4
gpt4 key购买 nike

不太清楚这里发生了什么。我正在使用 Visual Studio 2010 .NET 4。通过以下代码,我使用 JQuery 1.4.2 - 使用 JQuery 1.4.2 代码运行得很好。我正在调用一个 Restful WCF RESTFUL 方法。

我使用以下代码创建了一个简单的客户端:

Type = "POST";
Url = "http://localhost:60922/servicestart/SaveAllClients";
ContentType = "application/json; charset=utf-8";

DataType = "json"; ProcessData = true;
method = "SavePersons";
Data = JSON.stringify(formApplication);

CallService();


function CallService() {

$.ajax({
type: Type, //GET or POST or PUT or DELETE verb
url: Url, // Location of the service
data: Data, //Data sent to server
contentType: ContentType, // content type sent to server
dataType: DataType, //Expected data format from server
processdata: ProcessData, //True or False
success: function(msg) {//On Successfull service call
ServiceSucceeded(msg);
},
error: ServiceFailed// When Service call fails
});
}

现在,在一个单独的项目中使用 RESTful 代码:

[WebInvoke(UriTemplate = "SaveAllClients", Method = "POST", ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json)]
[OperationContract]
public string SavePersons(Person peeps)
{

string xml = string.Empty;

XMLToolset x = new XMLToolset();
xml = x.SerializeToXML(peeps);

xml = peeps.SerializeToXML(peeps);

// send xml to Oracle -


string json = string.Empty;

Person p = new Person();
p.first_name = "Good";
p.middle_name = "Happy";
p.last_name = "GH";

json = p.ConvertToJson(p);

return json;

}

现在使用jquery 1.4.2,代码运行得非常好 - 基本上它是一个跨域请求。我决定将 jquery 1.4.2 换成 jquery 1.6.2 - 为了保持最新状态 - 而且 - 它现在不起作用 - 它报告服务错误 O。

我研究了 ajax 文档和 jquery 1.5.2 中的新功能,并注意到一些事情,例如将跨域设置为 true 或使用 jsonp,但这些都不起作用。

在 ajax 功能方面,1.6.2 与 1.4.2 相比还有其他变化吗?

最佳答案

您的代码无法工作不是,因为您从 jQuery 1.4.2 切换到 1.6.2,而是因为您将 WCF 服务放在单独的项目中。所以我猜你把它托管在一个单独的应用程序中 => 你现在违反了 same origin policy 。而且这个政策与jQuery无关。这是浏览器限制。

因此,如果您想让此功能正常工作,您可以配置 WCF service to use JSONP .

关于jQuery AJAX 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6751246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com