Tôi có một dịch vụ web có chứa một phương pháp:ASMX webservice - trở JSON thay vì XML
[WebMethod]
public string Movies()
{
using (var dataContext = new MovieCollectionDataContext())
{
var query = dataContext.Movies.Select(m =>new{m.Title,m.ReleaseDate}).Take(20);
var serializer = new JavaScriptSerializer();
return serializer.Serialize(query);
}
}
Phương pháp này đúng serializes đối tượng, nhưng khi tôi xem các phản ứng trong Firebug, nó trông như thế này:
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">[{"Title":"SQL","ReleaseDate":"\/Date(1224007200000)\/"},{"Title":"Termonator Salvation","ReleaseDate":"\/Date(1224007200000)\/"}]</string>
đây là jQuery phương pháp mà tôi sử dụng Kendo Data Source
$(function() {
alert("Welcome To Kendo");
var dataSource = new kendo.data.DataSource(
{
transport: {
read: {
type: "POST",
dataType: "json",
url: "/MovieService.asmx/Movies"
// contentType: "application/json; charset=utf-8"
}
},
change: function (e) {
alert(e);
},
error: function (e) {
alert(e[2]);
},
pageSize: 10,
schema: {
data: "d"
}
});
$("#MovieGridView").kendoGrid({
dataSource: dataSource,
height: 250,
scrollable: true,
sortable: true,
pageable: true,
columns: [
{ field: "Title", title: "Movie Name" },
{ field: "ReleaseDate", title: "Movie Release" }
],
editable: "popup",
toolbar: ["create"]
});
});
Đoạn mã trên s làm thế nào những gì tôi đang làm trong jQuery và khi các sự kiện lỗi gọi tôi đã nhận lỗi này
SyntaxError: JSON.parse: unexpected character
Làm thế nào tôi có thể chuyển đổi dữ liệu trên vào JSON để tôi có thể sử dụng nó trong jQuery? Và tôi đang đi sai ở đâu?
Tại sao bạn đang sử dụng JSONP đây? Nó không có ý nghĩa. – Joe
ok tôi loại bỏ jsonp nhưng vấn đề vẫn còn plz tương tự giải quyết nó –
tôi tìm thấy một cách khác để làm điều này bằng cách sử dụng WCF và JSONP kết hợp rất mát mẻ của nó và làm việc hoàn hảo –